diff options
author | Kristóf Marussy <kristof@marussy.com> | 2023-12-08 21:47:30 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2023-12-08 21:48:25 +0100 |
commit | bfaa848ffcb31e4d992062f917c87d6131d8cd17 (patch) | |
tree | 6c3b8c474abf0c9faa39f4b80920e5f83a6f5cbd | |
parent | fix: typo (diff) | |
download | refinery-bfaa848ffcb31e4d992062f917c87d6131d8cd17.tar.gz refinery-bfaa848ffcb31e4d992062f917c87d6131d8cd17.tar.zst refinery-bfaa848ffcb31e4d992062f917c87d6131d8cd17.zip |
chore: upgrade to Eclipse 2023-12
Updates references to Eclipse in documentation (but IntelliJ is the preferred
editor now).
Also fixes incompatibilities with the Eclipse compiler.
4 files changed, 24 insertions, 19 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d5191795..a5f1594a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md | |||
@@ -8,41 +8,44 @@ | |||
8 | 8 | ||
9 | ## Setting up the development environment | 9 | ## Setting up the development environment |
10 | 10 | ||
11 | ### With IntelliJ IDEA | ||
12 | |||
13 | We prefer IntelliJ IDEA as a development environment. | ||
14 | No special preparations should be necessary for importing the project as a Gradle project into IDEA. | ||
15 | |||
16 | However, you will need Eclipse to edit Xtext (`*.xtext`) and MWE2 (`*.mwe2`) files and Ecore class diagrams (`*.aird`, `*.ecore`, `*.genmodel`). | ||
17 | If you do not plan on making changes to such files, feel free to skip the Eclipse installation steps below. | ||
18 | |||
11 | ### With Eclipse IDE | 19 | ### With Eclipse IDE |
12 | 20 | ||
13 | 1. Download and install a _Java 17_ compatible JDK. For Windows, prefer OpenJDK builds from [Adoptium](https://adoptium.net/). | 21 | 1. Download and install a _Java 21_ compatible JDK. For Windows, prefer OpenJDK builds from [Adoptium](https://adoptium.net/). |
14 | 22 | ||
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. | 23 | 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. |
16 | 24 | ||
17 | 3. Launch Eclipse and create a new workspace. | 25 | 3. Launch Eclipse and create a new workspace. |
18 | 26 | ||
19 | 4. Open _Help > Install New Software..._ and install the following software from the _2022-09_ update site: | 27 | 4. Open _Help > Eclipse Marketplace_ and install the following software: |
20 | * _Modeling > Ecore Diagram Editor (SDK)_ | ||
21 | |||
22 | 5. Open _Help > Eclipse Marketplace_ and install the following software: | ||
23 | * _EclEmma Java Code Coverage_ | 28 | * _EclEmma Java Code Coverage_ |
29 | * _EcoreTools : Ecore Diagram Editor_ | ||
30 | * _Sirius_ (ignore the warning during installation about the solution _Sirius_ not being available) | ||
24 | * _SonarLint_ | 31 | * _SonarLint_ |
25 | 32 | ||
26 | 6. Open _Window > Preferences_ and set the following preferences: | 33 | 5. Open _Window > Preferences_ and set the following preferences: |
27 | * _General > Workspace > Text file encoding_ should be _UTF-8_. | 34 | * _General > Workspace > Text file encoding_ should be _UTF-8_. |
28 | * _General > Workspace > New text file line delimiter_ should be _Unix_. | 35 | * _General > Workspace > New text file line delimiter_ should be _Unix_. |
29 | * Add the JDK 17 to _Java > Installed JREs_. | 36 | * Add the JDK 21 to _Java > Installed JREs_. |
30 | * Make sure JDK 17 is selected for _JavaSE-17_ at _Java > Installed JREs > Execution Environments_. | 37 | * Make sure JDK 21 is selected for _JavaSE-21_ 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. | 38 | * 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. |
32 | * Set _Java > Compiler > JDK Compliance > Compiler compliance level_ to _17_. | 39 | * Set _Java > Compiler > JDK Compliance > Compiler compliance level_ to _21_. |
33 | 40 | ||
34 | 7. Clone the project Git repository but do not import it into Eclipse yet. | 41 | 6. Clone the project Git repository but do not import it into Eclipse yet. |
35 | 42 | ||
36 | 8. Open a new terminal an run `./gradlew prepareEclipse` (`.\gradlew prepareEclipse` on Windows) in the cloned repository. | 43 | 7. Open a new terminal an run `./gradlew prepareEclipse` (`.\gradlew prepareEclipse` on Windows) in the cloned repository. |
37 | * This should complete without any compilation errors. | 44 | * 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. | 45 | * 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). | 46 | * 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 | 47 | ||
41 | 9. Select _File > Import... > Gradle > Existing Gradle Project_ and import the cloned repository in Eclipse. | 48 | 8. 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_. | 49 | * 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. | 50 | * 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 | 51 | ||
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 | |||
diff --git a/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/aggregation/timely/FaithfulParallelTimelyColumnAggregatorNode.java b/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/aggregation/timely/FaithfulParallelTimelyColumnAggregatorNode.java index 13cd9662..b1e0e390 100644 --- a/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/aggregation/timely/FaithfulParallelTimelyColumnAggregatorNode.java +++ b/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/aggregation/timely/FaithfulParallelTimelyColumnAggregatorNode.java | |||
@@ -15,6 +15,7 @@ import tools.refinery.interpreter.matchers.util.*; | |||
15 | import tools.refinery.interpreter.matchers.util.timeline.Diff; | 15 | import tools.refinery.interpreter.matchers.util.timeline.Diff; |
16 | import tools.refinery.interpreter.rete.aggregation.timely.FaithfulParallelTimelyColumnAggregatorNode.CumulativeAggregate; | 16 | import tools.refinery.interpreter.rete.aggregation.timely.FaithfulParallelTimelyColumnAggregatorNode.CumulativeAggregate; |
17 | import tools.refinery.interpreter.rete.aggregation.timely.FaithfulParallelTimelyColumnAggregatorNode.FoldingState; | 17 | import tools.refinery.interpreter.rete.aggregation.timely.FaithfulParallelTimelyColumnAggregatorNode.FoldingState; |
18 | import tools.refinery.interpreter.rete.aggregation.timely.FaithfulTimelyColumnAggregatorNode.MergeableFoldingState; | ||
18 | import tools.refinery.interpreter.rete.network.ReteContainer; | 19 | import tools.refinery.interpreter.rete.network.ReteContainer; |
19 | import tools.refinery.interpreter.rete.network.communication.Timestamp; | 20 | import tools.refinery.interpreter.rete.network.communication.Timestamp; |
20 | import tools.refinery.interpreter.rete.network.communication.timely.ResumableNode; | 21 | import tools.refinery.interpreter.rete.network.communication.timely.ResumableNode; |
diff --git a/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/aggregation/timely/FaithfulSequentialTimelyColumnAggregatorNode.java b/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/aggregation/timely/FaithfulSequentialTimelyColumnAggregatorNode.java index 72e52f7e..62c1f59f 100644 --- a/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/aggregation/timely/FaithfulSequentialTimelyColumnAggregatorNode.java +++ b/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/aggregation/timely/FaithfulSequentialTimelyColumnAggregatorNode.java | |||
@@ -25,6 +25,7 @@ import tools.refinery.interpreter.matchers.util.Signed; | |||
25 | import tools.refinery.interpreter.matchers.util.timeline.Diff; | 25 | import tools.refinery.interpreter.matchers.util.timeline.Diff; |
26 | import tools.refinery.interpreter.rete.aggregation.timely.FaithfulSequentialTimelyColumnAggregatorNode.CumulativeAggregate; | 26 | import tools.refinery.interpreter.rete.aggregation.timely.FaithfulSequentialTimelyColumnAggregatorNode.CumulativeAggregate; |
27 | import tools.refinery.interpreter.rete.aggregation.timely.FaithfulSequentialTimelyColumnAggregatorNode.FoldingState; | 27 | import tools.refinery.interpreter.rete.aggregation.timely.FaithfulSequentialTimelyColumnAggregatorNode.FoldingState; |
28 | import tools.refinery.interpreter.rete.aggregation.timely.FaithfulTimelyColumnAggregatorNode.MergeableFoldingState; | ||
28 | import tools.refinery.interpreter.rete.network.ReteContainer; | 29 | import tools.refinery.interpreter.rete.network.ReteContainer; |
29 | import tools.refinery.interpreter.rete.network.communication.Timestamp; | 30 | import tools.refinery.interpreter.rete.network.communication.Timestamp; |
30 | import tools.refinery.interpreter.rete.network.communication.timely.ResumableNode; | 31 | import tools.refinery.interpreter.rete.network.communication.timely.ResumableNode; |
diff --git a/subprojects/store/src/test/java/tools/refinery/store/model/hashtests/HashEfficiencyTest.java b/subprojects/store/src/test/java/tools/refinery/store/model/hashtests/HashEfficiencyTest.java index 5b595da7..cbc60a01 100644 --- a/subprojects/store/src/test/java/tools/refinery/store/model/hashtests/HashEfficiencyTest.java +++ b/subprojects/store/src/test/java/tools/refinery/store/model/hashtests/HashEfficiencyTest.java | |||
@@ -3,7 +3,7 @@ | |||
3 | * | 3 | * |
4 | * SPDX-License-Identifier: EPL-2.0 | 4 | * SPDX-License-Identifier: EPL-2.0 |
5 | */ | 5 | */ |
6 | package tools.refinery.store.model.hashTests; | 6 | package tools.refinery.store.model.hashtests; |
7 | 7 | ||
8 | import static org.junit.jupiter.api.Assertions.assertEquals; | 8 | import static org.junit.jupiter.api.Assertions.assertEquals; |
9 | 9 | ||