aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2023-12-08 21:47:30 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2023-12-08 21:48:25 +0100
commitbfaa848ffcb31e4d992062f917c87d6131d8cd17 (patch)
tree6c3b8c474abf0c9faa39f4b80920e5f83a6f5cbd
parentfix: typo (diff)
downloadrefinery-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.
-rw-r--r--CONTRIBUTING.md39
-rw-r--r--subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/aggregation/timely/FaithfulParallelTimelyColumnAggregatorNode.java1
-rw-r--r--subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/aggregation/timely/FaithfulSequentialTimelyColumnAggregatorNode.java1
-rw-r--r--subprojects/store/src/test/java/tools/refinery/store/model/hashtests/HashEfficiencyTest.java2
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
13We prefer IntelliJ IDEA as a development environment.
14No special preparations should be necessary for importing the project as a Gradle project into IDEA.
15
16However, you will need Eclipse to edit Xtext (`*.xtext`) and MWE2 (`*.mwe2`) files and Ecore class diagrams (`*.aird`, `*.ecore`, `*.genmodel`).
17If 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
131. Download and install a _Java 17_ compatible JDK. For Windows, prefer OpenJDK builds from [Adoptium](https://adoptium.net/). 211. Download and install a _Java 21_ compatible JDK. For Windows, prefer OpenJDK builds from [Adoptium](https://adoptium.net/).
14 22
152. 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. 232. 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
173. Launch Eclipse and create a new workspace. 253. Launch Eclipse and create a new workspace.
18 26
194. Open _Help > Install New Software..._ and install the following software from the _2022-09_ update site: 274. Open _Help > Eclipse Marketplace_ and install the following software:
20 * _Modeling > Ecore Diagram Editor (SDK)_
21
225. 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
266. Open _Window > Preferences_ and set the following preferences: 335. 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
347. Clone the project Git repository but do not import it into Eclipse yet. 416. Clone the project Git repository but do not import it into Eclipse yet.
35 42
368. Open a new terminal an run `./gradlew prepareEclipse` (`.\gradlew prepareEclipse` on Windows) in the cloned repository. 437. 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
419. Select _File > Import... > Gradle > Existing Gradle Project_ and import the cloned repository in Eclipse. 488. 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
47It 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.*;
15import tools.refinery.interpreter.matchers.util.timeline.Diff; 15import tools.refinery.interpreter.matchers.util.timeline.Diff;
16import tools.refinery.interpreter.rete.aggregation.timely.FaithfulParallelTimelyColumnAggregatorNode.CumulativeAggregate; 16import tools.refinery.interpreter.rete.aggregation.timely.FaithfulParallelTimelyColumnAggregatorNode.CumulativeAggregate;
17import tools.refinery.interpreter.rete.aggregation.timely.FaithfulParallelTimelyColumnAggregatorNode.FoldingState; 17import tools.refinery.interpreter.rete.aggregation.timely.FaithfulParallelTimelyColumnAggregatorNode.FoldingState;
18import tools.refinery.interpreter.rete.aggregation.timely.FaithfulTimelyColumnAggregatorNode.MergeableFoldingState;
18import tools.refinery.interpreter.rete.network.ReteContainer; 19import tools.refinery.interpreter.rete.network.ReteContainer;
19import tools.refinery.interpreter.rete.network.communication.Timestamp; 20import tools.refinery.interpreter.rete.network.communication.Timestamp;
20import tools.refinery.interpreter.rete.network.communication.timely.ResumableNode; 21import 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;
25import tools.refinery.interpreter.matchers.util.timeline.Diff; 25import tools.refinery.interpreter.matchers.util.timeline.Diff;
26import tools.refinery.interpreter.rete.aggregation.timely.FaithfulSequentialTimelyColumnAggregatorNode.CumulativeAggregate; 26import tools.refinery.interpreter.rete.aggregation.timely.FaithfulSequentialTimelyColumnAggregatorNode.CumulativeAggregate;
27import tools.refinery.interpreter.rete.aggregation.timely.FaithfulSequentialTimelyColumnAggregatorNode.FoldingState; 27import tools.refinery.interpreter.rete.aggregation.timely.FaithfulSequentialTimelyColumnAggregatorNode.FoldingState;
28import tools.refinery.interpreter.rete.aggregation.timely.FaithfulTimelyColumnAggregatorNode.MergeableFoldingState;
28import tools.refinery.interpreter.rete.network.ReteContainer; 29import tools.refinery.interpreter.rete.network.ReteContainer;
29import tools.refinery.interpreter.rete.network.communication.Timestamp; 30import tools.refinery.interpreter.rete.network.communication.Timestamp;
30import tools.refinery.interpreter.rete.network.communication.timely.ResumableNode; 31import 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 */
6package tools.refinery.store.model.hashTests; 6package tools.refinery.store.model.hashtests;
7 7
8import static org.junit.jupiter.api.Assertions.assertEquals; 8import static org.junit.jupiter.api.Assertions.assertEquals;
9 9