diff options
author | Kristóf Marussy <kristof@marussy.com> | 2023-09-14 21:24:40 +0200 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2023-09-14 21:28:08 +0200 |
commit | 45cae393dcedb60d09387d8dc438e5975ee4762c (patch) | |
tree | 4d3e531abefbf30b640b1f2150d83af872ebf4de /CONTRIBUTING.md | |
parent | Merge pull request #39 from kris7t/partial-interpretation (diff) | |
download | refinery-45cae393dcedb60d09387d8dc438e5975ee4762c.tar.gz refinery-45cae393dcedb60d09387d8dc438e5975ee4762c.tar.zst refinery-45cae393dcedb60d09387d8dc438e5975ee4762c.zip |
chore: update README.md
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r-- | CONTRIBUTING.md | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..d5191795 --- /dev/null +++ b/CONTRIBUTING.md | |||
@@ -0,0 +1,48 @@ | |||
1 | <!-- | ||
2 | SPDX-FileCopyrightText: 2021-2023 The Refinery Authors <https://refinery.tools/> | ||
3 | |||
4 | SPDX-License-Identifier: EPL-2.0 | ||
5 | --> | ||
6 | |||
7 | # Contributing to Refinery | ||
8 | |||
9 | ## Setting up the development environment | ||
10 | |||
11 | ### With Eclipse IDE | ||
12 | |||
13 | 1. Download and install a _Java 17_ compatible JDK. For Windows, prefer OpenJDK builds from [Adoptium](https://adoptium.net/). | ||
14 | |||
15 | 2. Download and extract the [Eclipse IDE for Java and DSL Developers 2022-09](https://www.eclipse.org/downloads/packages/release/2022-09/r/eclipse-ide-java-and-dsl-developers) package. | ||
16 | |||
17 | 3. Launch Eclipse and create a new workspace. | ||
18 | |||
19 | 4. Open _Help > Install New Software..._ and install the following software from the _2022-09_ update site: | ||
20 | * _Modeling > Ecore Diagram Editor (SDK)_ | ||
21 | |||
22 | 5. Open _Help > Eclipse Marketplace_ and install the following software: | ||
23 | * _EclEmma Java Code Coverage_ | ||
24 | * _SonarLint_ | ||
25 | |||
26 | 6. Open _Window > Preferences_ and set the following preferences: | ||
27 | * _General > Workspace > Text file encoding_ should be _UTF-8_. | ||
28 | * _General > Workspace > New text file line delimiter_ should be _Unix_. | ||
29 | * Add the JDK 17 to _Java > Installed JREs_. | ||
30 | * Make sure JDK 17 is selected for _JavaSE-17_ at _Java > Installed JREs > Execution Environments_. | ||
31 | * Set _Gradle > Java home_ to the `JAVA_HOME` directory (the directory which contains the `bin` directory) of JDK 17. Here, Buildship will show a yellow warning sign, which can be safely ignored. | ||
32 | * Set _Java > Compiler > JDK Compliance > Compiler compliance level_ to _17_. | ||
33 | |||
34 | 7. Clone the project Git repository but do not import it into Eclipse yet. | ||
35 | |||
36 | 8. Open a new terminal an run `./gradlew prepareEclipse` (`.\gradlew prepareEclipse` on Windows) in the cloned repository. | ||
37 | * This should complete without any compilation errors. | ||
38 | * 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. | ||
39 | * 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). | ||
40 | |||
41 | 9. Select _File > Import... > Gradle > Existing Gradle Project_ and import the cloned repository in Eclipse. | ||
42 | * 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_. | ||
43 | * 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. | ||
44 | |||
45 | ### With IntelliJ IDEA | ||
46 | |||
47 | It is possible to import the project into IntelliJ IDEA, but it gives no editing help for Xtext (`*.xtext`), MWE2 (`*.mwe2`), and Xtend (`*.xtend`) and Ecore class diagrams (`*.aird`, `*.ecore`, `*.genmodel`). | ||
48 | |||