Workaround for illegal reflective access on Java 17+
diff --git a/plugins/org.eclipse.epsilon.ecl.engine/src/org/eclipse/epsilon/ecl/concurrent/EclModuleParallelAnnotation.java b/plugins/org.eclipse.epsilon.ecl.engine/src/org/eclipse/epsilon/ecl/concurrent/EclModuleParallelAnnotation.java
index 6f1698c..b94707a 100644
--- a/plugins/org.eclipse.epsilon.ecl.engine/src/org/eclipse/epsilon/ecl/concurrent/EclModuleParallelAnnotation.java
+++ b/plugins/org.eclipse.epsilon.ecl.engine/src/org/eclipse/epsilon/ecl/concurrent/EclModuleParallelAnnotation.java
@@ -9,8 +9,8 @@
**********************************************************************/
package org.eclipse.epsilon.ecl.concurrent;
+import java.util.ArrayList;
import java.util.Collection;
-import java.util.LinkedList;
import java.util.concurrent.Callable;
import org.eclipse.epsilon.ecl.dom.MatchRule;
import org.eclipse.epsilon.ecl.execute.context.concurrent.*;
@@ -52,7 +52,7 @@
Variable.createReadOnlyVariable("THREADS", context.getParallelism())
})
) {
- final Collection<Callable<?>> jobs = new LinkedList<>();
+ final Collection<Callable<?>> jobs = new ArrayList<>(leftInstances.size() * rightInstances.size());
for (Object left : leftInstances) {
for (Object right : rightInstances) {
jobs.add(() -> matchRule.matchPair(context.getShadow(), ofTypeOnly, left, right));
diff --git a/plugins/org.eclipse.epsilon.eol.engine/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.epsilon.eol.engine/.settings/org.eclipse.jdt.core.prefs
index 3a21537..057be7e 100644
--- a/plugins/org.eclipse.epsilon.eol.engine/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.epsilon.eol.engine/.settings/org.eclipse.jdt.core.prefs
@@ -7,5 +7,8 @@
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/EvlModule.java b/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/EvlModule.java
index b87c09c..c7f8d44 100644
--- a/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/EvlModule.java
+++ b/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/EvlModule.java
@@ -249,8 +249,7 @@
@Override
protected Set<UnsatisfiedConstraint> processRules() throws EolRuntimeException {
checkConstraints();
- IEvlContext context = getContext();
- return context.uniqueUnsatisfiedConstraints();
+ return getContext().uniqueUnsatisfiedConstraints();
}
/**
diff --git a/tests/org.eclipse.epsilon.eol.engine.test.acceptance/src/org/eclipse/epsilon/eol/engine/test/acceptance/dom/DomTests.java b/tests/org.eclipse.epsilon.eol.engine.test.acceptance/src/org/eclipse/epsilon/eol/engine/test/acceptance/dom/DomTests.java
index 13e5af8..7a0ca09 100644
--- a/tests/org.eclipse.epsilon.eol.engine.test.acceptance/src/org/eclipse/epsilon/eol/engine/test/acceptance/dom/DomTests.java
+++ b/tests/org.eclipse.epsilon.eol.engine.test.acceptance/src/org/eclipse/epsilon/eol/engine/test/acceptance/dom/DomTests.java
@@ -25,7 +25,6 @@
import org.eclipse.epsilon.eol.dom.OperationCallExpression;
import org.eclipse.epsilon.eol.dom.Parameter;
import org.eclipse.epsilon.eol.dom.PlusOperatorExpression;
-import org.eclipse.epsilon.eol.dom.Statement;
import org.eclipse.epsilon.eol.dom.StatementBlock;
import org.eclipse.epsilon.eol.dom.TypeExpression;
import org.eclipse.epsilon.eol.dom.VariableDeclaration;
@@ -64,7 +63,7 @@
/*var x = Sequence{2..4}.select(x | x > 2);*/
new AssignmentStatement(new VariableDeclaration(new NameExpression("x"), null, false),
new FirstOrderOperationCallExpression(
- new CollectionLiteralExpression("Sequence", true, new IntegerLiteral(2), new IntegerLiteral(4)),
+ new CollectionLiteralExpression<>("Sequence", true, new IntegerLiteral(2), new IntegerLiteral(4)),
new NameExpression("select"),
new Parameter(new NameExpression("x"), null),
new GreaterThanOperatorExpression(new NameExpression("x"), new IntegerLiteral(2)))),
diff --git a/tests/org.eclipse.epsilon.test.dependencies/META-INF/MANIFEST.MF b/tests/org.eclipse.epsilon.test.dependencies/META-INF/MANIFEST.MF
index 5957c29..71fa002 100644
--- a/tests/org.eclipse.epsilon.test.dependencies/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.epsilon.test.dependencies/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
Bundle-SymbolicName: org.eclipse.epsilon.test.dependencies
Bundle-Version: 2.5.0.qualifier
Require-Bundle: javax.annotation;visibility:=reexport,
- org.junit;bundle-version="4.12.0";visibility:=reexport,
+ org.junit;bundle-version="4.13.2";visibility:=reexport,
org.mockito;bundle-version="2.1.3";visibility:=reexport,
net.bytebuddy.byte-buddy;bundle-version="1.7.9",
net.bytebuddy.byte-buddy-agent;bundle-version="1.7.9",
diff --git a/tests/org.eclipse.epsilon.test/.classpath b/tests/org.eclipse.epsilon.test/.classpath
index eca7bdb..3e5654f 100644
--- a/tests/org.eclipse.epsilon.test/.classpath
+++ b/tests/org.eclipse.epsilon.test/.classpath
@@ -2,6 +2,10 @@
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="src">
+ <attributes>
+ <attribute name="test" value="true"/>
+ </attributes>
+ </classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/tests/org.eclipse.epsilon.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.epsilon.test/.settings/org.eclipse.jdt.core.prefs
index 3a21537..057be7e 100644
--- a/tests/org.eclipse.epsilon.test/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.epsilon.test/.settings/org.eclipse.jdt.core.prefs
@@ -7,5 +7,8 @@
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tests/org.eclipse.epsilon.test/EpsilonEclipseTestSuite.launch b/tests/org.eclipse.epsilon.test/EpsilonEclipseTestSuite.launch
index 361923c..3916192 100644
--- a/tests/org.eclipse.epsilon.test/EpsilonEclipseTestSuite.launch
+++ b/tests/org.eclipse.epsilon.test/EpsilonEclipseTestSuite.launch
@@ -20,5 +20,5 @@
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.epsilon.test.EpsilonEclipseTestSuite"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.epsilon.test"/>
- <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Xmx4g"/>
+ <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Xmx4g --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED"/>
</launchConfiguration>
diff --git a/tests/org.eclipse.epsilon.test/EpsilonPluggedInTestSuite.launch b/tests/org.eclipse.epsilon.test/EpsilonPluggedInTestSuite.launch
index 23d0be5..3ecbb51 100644
--- a/tests/org.eclipse.epsilon.test/EpsilonPluggedInTestSuite.launch
+++ b/tests/org.eclipse.epsilon.test/EpsilonPluggedInTestSuite.launch
@@ -14,15 +14,18 @@
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
- <listEntry value="/org.eclipse.epsilon.test"/>
+ <listEntry value="/org.eclipse.epsilon.test/src/org/eclipse/epsilon/test/EpsilonPluggedInTestSuite.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
- <listEntry value="4"/>
+ <listEntry value="1"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+ <booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
+ <booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
+ <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.epsilon.test.EpsilonPluggedInTestSuite"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.epsilon.test"/>
diff --git a/tests/org.eclipse.epsilon.test/pom.xml b/tests/org.eclipse.epsilon.test/pom.xml
index 08330e1..15b343b 100644
--- a/tests/org.eclipse.epsilon.test/pom.xml
+++ b/tests/org.eclipse.epsilon.test/pom.xml
@@ -21,7 +21,7 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.13</version>
+ <version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -103,7 +103,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>3.0.0-M4</version>
+ <version>3.0.0-M6</version>
<configuration>
<includes>
<include>**/*EpsilonJenkinsTest*</include>
@@ -122,7 +122,7 @@
</build>
<properties>
<packaging.type>eclipse-plugin</packaging.type>
- <argLine>-ea -Xmx3g</argLine>
+ <argLine>-ea -Xmx3g --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED</argLine>
</properties>
</profile>
<profile>
@@ -142,7 +142,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>3.0.0-M4</version>
+ <version>3.0.0-M6</version>
<configuration>
<includes>
<include>**/*EpsilonSurefireTest*</include>