aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/docs/src/develop
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/docs/src/develop')
-rw-r--r--subprojects/docs/src/develop/contributing.md51
-rw-r--r--subprojects/docs/src/develop/index.md13
-rw-r--r--subprojects/docs/src/develop/javadoc.md42
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---
2SPDX-FileCopyrightText: 2021-2023 The Refinery Authors
3SPDX-License-Identifier: EPL-2.0
4sidebar_position: 1
5sidebar_label: Contributing
6---
7
8# Contributing to Refinery
9
10## Setting up the development environment
11
12### With IntelliJ IDEA
13
14We prefer IntelliJ IDEA as a development environment.
15No special preparations should be necessary for importing the project as a Gradle project into IDEA.
16
17However, you will need Eclipse to edit Xtext (`*.xtext`) and MWE2 (`*.mwe2`) files and Ecore class diagrams (`*.aird`, `*.ecore`, `*.genmodel`).
18If 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
221. Download and install a _Java 21_ compatible JDK. For Windows, prefer OpenJDK builds from [Adoptium](https://adoptium.net/).
23
242. 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
263. Launch Eclipse and create a new workspace.
27
284. 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
345. 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
426. Clone the project Git repository but do not import it into Eclipse yet.
43
447. 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
498. 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---
2SPDX-FileCopyrightText: 2024 The Refinery Authors
3SPDX-License-Identifier: EPL-2.0
4sidebar_position: 0
5---
6
7# Programming guide
8
9:::warning
10
11Under 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---
2SPDX-FileCopyrightText: 2024 The Refinery Authors
3SPDX-License-Identifier: EPL-2.0
4description: API documentation for Refinery components automatically generated by Javadoc
5sidebar_position: 999
6---
7
8# Javadoc
9
10Here 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
35The _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)