diff options
Diffstat (limited to 'subprojects/docs/src/develop')
-rw-r--r-- | subprojects/docs/src/develop/contributing.md | 51 | ||||
-rw-r--r-- | subprojects/docs/src/develop/index.md | 13 | ||||
-rw-r--r-- | subprojects/docs/src/develop/javadoc.md | 42 |
3 files changed, 106 insertions, 0 deletions
diff --git a/subprojects/docs/src/develop/contributing.md b/subprojects/docs/src/develop/contributing.md new file mode 100644 index 00000000..4a135b81 --- /dev/null +++ b/subprojects/docs/src/develop/contributing.md | |||
@@ -0,0 +1,51 @@ | |||
1 | --- | ||
2 | SPDX-FileCopyrightText: 2021-2023 The Refinery Authors | ||
3 | SPDX-License-Identifier: EPL-2.0 | ||
4 | sidebar_position: 1 | ||
5 | sidebar_label: Contributing | ||
6 | --- | ||
7 | |||
8 | # Contributing to Refinery | ||
9 | |||
10 | ## Setting up the development environment | ||
11 | |||
12 | ### With IntelliJ IDEA | ||
13 | |||
14 | We prefer IntelliJ IDEA as a development environment. | ||
15 | No special preparations should be necessary for importing the project as a Gradle project into IDEA. | ||
16 | |||
17 | However, you will need Eclipse to edit Xtext (`*.xtext`) and MWE2 (`*.mwe2`) files and Ecore class diagrams (`*.aird`, `*.ecore`, `*.genmodel`). | ||
18 | If you do not plan on making changes to such files, feel free to skip the Eclipse installation steps below. | ||
19 | |||
20 | ### With Eclipse IDE | ||
21 | |||
22 | 1. Download and install a _Java 21_ compatible JDK. For Windows, prefer OpenJDK builds from [Adoptium](https://adoptium.net/). | ||
23 | |||
24 | 2. Download and extract the [Eclipse IDE for Java and DSL Developers 2023-12](https://www.eclipse.org/downloads/packages/release/2023-12/r/eclipse-ide-java-and-dsl-developers) package. | ||
25 | |||
26 | 3. Launch Eclipse and create a new workspace. | ||
27 | |||
28 | 4. Open _Help > Eclipse Marketplace_ and install the following software: | ||
29 | * _EclEmma Java Code Coverage_ | ||
30 | * _EcoreTools : Ecore Diagram Editor_ | ||
31 | * _Sirius_ (ignore the warning during installation about the solution _Sirius_ not being available) | ||
32 | * _SonarLint_ | ||
33 | |||
34 | 5. Open _Window > Preferences_ and set the following preferences: | ||
35 | * _General > Workspace > Text file encoding_ should be _UTF-8_. | ||
36 | * _General > Workspace > New text file line delimiter_ should be _Unix_. | ||
37 | * Add the JDK 21 to _Java > Installed JREs_. | ||
38 | * Make sure JDK 21 is selected for _JavaSE-21_ at _Java > Installed JREs > Execution Environments_. | ||
39 | * Set _Gradle > Java home_ to the `JAVA_HOME` directory (the directory which contains the `bin` directory) of JDK 21. Here, Buildship will show a yellow warning sign, which can be safely ignored. | ||
40 | * Set _Java > Compiler > JDK Compliance > Compiler compliance level_ to _21_. | ||
41 | |||
42 | 6. Clone the project Git repository but do not import it into Eclipse yet. | ||
43 | |||
44 | 7. Open a new terminal an run `./gradlew prepareEclipse` (`.\gradlew prepareEclipse` on Windows) in the cloned repository. | ||
45 | * This should complete without any compilation errors. | ||
46 | * If you get any errors about the JVM version, check whether the `JAVA_HOME` environment variable is set to the location of JDK. You can query the variable with `echo $JAVA_HOME` on Linux and `echo $Env:JAVA_HOME` in PowerShell on Windows. To set it, use `export JAVA_HOME=/java/path/here` or `$Env:JAVA_HOME="C:\java\path\here"`, respectively. | ||
47 | * If the build fails with a `Host name must not be empty` error, you [might need to remove the empty proxy configuration from your global `gradle.properties` file](https://stackoverflow.com/a/62128323). | ||
48 | |||
49 | 8. Select _File > Import... > Gradle > Existing Gradle Project_ and import the cloned repository in Eclipse. | ||
50 | * Make sure to select the root of the repository (containing this file) as the _Project root directory_ and that the _Gradle distribution_ is _Gradle wrapper_. | ||
51 | * If you have previously imported the project into Eclipse, this step will likely fail. In that case, you should remove the projects from Eclipse, run `git clean -fxd` in the repository, and start over from step 8. | ||
diff --git a/subprojects/docs/src/develop/index.md b/subprojects/docs/src/develop/index.md new file mode 100644 index 00000000..4537889e --- /dev/null +++ b/subprojects/docs/src/develop/index.md | |||
@@ -0,0 +1,13 @@ | |||
1 | --- | ||
2 | SPDX-FileCopyrightText: 2024 The Refinery Authors | ||
3 | SPDX-License-Identifier: EPL-2.0 | ||
4 | sidebar_position: 0 | ||
5 | --- | ||
6 | |||
7 | # Programming guide | ||
8 | |||
9 | :::warning | ||
10 | |||
11 | Under construction | ||
12 | |||
13 | ::: | ||
diff --git a/subprojects/docs/src/develop/javadoc.md b/subprojects/docs/src/develop/javadoc.md new file mode 100644 index 00000000..225e9de0 --- /dev/null +++ b/subprojects/docs/src/develop/javadoc.md | |||
@@ -0,0 +1,42 @@ | |||
1 | --- | ||
2 | SPDX-FileCopyrightText: 2024 The Refinery Authors | ||
3 | SPDX-License-Identifier: EPL-2.0 | ||
4 | description: API documentation for Refinery components automatically generated by Javadoc | ||
5 | sidebar_position: 999 | ||
6 | --- | ||
7 | |||
8 | # Javadoc | ||
9 | |||
10 | Here you can find API documentation for Refinery components automatically generated by Javadoc. We recommend reading the [Programming guide](/develop) first to understand how to use these components. | ||
11 | |||
12 | # Refinery | ||
13 | |||
14 | * [`tools.refinery:refinery-generator`](pathname://refinery-generator) | ||
15 | * [`tools.refinery:refinery-generator-cli`](pathname://refinery-generator-cli) | ||
16 | * [`tools.refinery:refinery-language`](pathname://refinery-language) | ||
17 | * [`tools.refinery:refinery-language-ide`](pathname://refinery-language-ide) | ||
18 | * [`tools.refinery:refinery-language-model`](pathname://refinery-language-model) | ||
19 | * [`tools.refinery:refinery-language-semantics`](pathname://refinery-language-semantics) | ||
20 | * [`tools.refinery:refinery-language-web`](pathname://refinery-language-web) | ||
21 | * [`tools.refinery:refinery-logic`](pathname://refinery-logic) | ||
22 | * [`tools.refinery:refinery-store`](pathname://refinery-store) | ||
23 | * [`tools.refinery:refinery-store-dse`](pathname://refinery-store-dse) | ||
24 | * [`tools.refinery:refinery-store-dse-visualization`](pathname://refinery-store-dse-visualization) | ||
25 | * [`tools.refinery:refinery-store-query`](pathname://refinery-store-query) | ||
26 | * [`tools.refinery:refinery-store-query-interpreter`](pathname://refinery-store-query-interpreter) | ||
27 | * [`tools.refinery:refinery-store-reasoning`](pathname://refinery-store-reasoning) | ||
28 | * [`tools.refinery:refinery-store-reasoning-scope`](pathname://refinery-store-reasoning-scope) | ||
29 | * [`tools.refinery:refinery-store-reasoning-smt`](pathname://refinery-store-reasoning-smt) | ||
30 | |||
31 | # Interpreter | ||
32 | |||
33 | :::note | ||
34 | |||
35 | The _Refinery Interpreter_ is modified version of [VIATRA™](https://eclipse.dev/viatra/) specifically for use in Refinery. If you're interested in learning about [VIATRA™](https://eclipse.dev/viatra/), we recommend the [VIATRA™ documentation](https://eclipse.dev/viatra/documentation/index.html) and [source code](https://github.com/eclipse-viatra/org.eclipse.viatra) instead. Eclipse®, VIATRA™ and ‘Eclipse VIATRA™’ are trademarks of Eclipse Foundation, Inc. | ||
36 | |||
37 | ::: | ||
38 | |||
39 | * [`tools.refinery.interpreter:refinery-interpreter`](pathname://refinery-interpreter) | ||
40 | * [`tools.refinery.interpreter:refinery-interpreter-localsearch`](pathname://refinery-interpreter-localsearch) | ||
41 | * [`tools.refinery.interpreter:refinery-interpreter-rete`](pathname://refinery-interpreter-rete) | ||
42 | * [`tools.refinery.interpreter:refinery-interpreter-rete-recipes`](pathname://refinery-interpreter-rete-recipes) | ||