Bug 537312 - [test] reduce set of compliances in gerrit test runs
Change-Id: Ieafef9b4c33db455c583cc1c525dc27fa5970d9d
diff --git a/org.eclipse.jdt.core.tests.compiler/pom.xml b/org.eclipse.jdt.core.tests.compiler/pom.xml
index ecc9809..f9bdb5f 100644
--- a/org.eclipse.jdt.core.tests.compiler/pom.xml
+++ b/org.eclipse.jdt.core.tests.compiler/pom.xml
@@ -102,7 +102,8 @@
</plugins>
</build>
<properties>
- <tycho.surefire.argLine>--add-modules ALL-SYSTEM</tycho.surefire.argLine>
+ <!-- Overridden in https://ci.eclipse.org/jdt/job/eclipse.jdt.core-run.javac-10/configure -->
+ <tycho.surefire.argLine>--add-modules ALL-SYSTEM -Dcompliance=1.4,1.7,1.8,10</tycho.surefire.argLine>
</properties>
</profile>
</profiles>
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/util/AbstractCompilerTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/util/AbstractCompilerTest.java
index 3cf0260..9b2ec42 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/util/AbstractCompilerTest.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/util/AbstractCompilerTest.java
@@ -349,38 +349,44 @@
if (possibleComplianceLevels == UNINITIALIZED) {
String specVersion = System.getProperty("java.specification.version");
isJRE9Plus = CompilerOptions.VERSION_9.equals(specVersion) || CompilerOptions.VERSION_10.equals(specVersion);
- String compliance = System.getProperty("compliance");
- if (compliance != null) {
- if (CompilerOptions.VERSION_1_3.equals(compliance)) {
- possibleComplianceLevels = RUN_JAVAC ? NONE : F_1_3;
- } else if (CompilerOptions.VERSION_1_4.equals(compliance)) {
- possibleComplianceLevels = RUN_JAVAC ? NONE : F_1_4;
- } else if (CompilerOptions.VERSION_1_5.equals(compliance)) {
- possibleComplianceLevels = F_1_5;
- } else if (CompilerOptions.VERSION_1_6.equals(compliance)) {
- possibleComplianceLevels = F_1_6;
- } else if (CompilerOptions.VERSION_1_7.equals(compliance)) {
- possibleComplianceLevels = F_1_7;
- } else if (CompilerOptions.VERSION_1_8.equals(compliance)) {
- possibleComplianceLevels = F_1_8;
- } else if (CompilerOptions.VERSION_9.equals(compliance)) {
- possibleComplianceLevels = F_9;
- } else if (CompilerOptions.VERSION_10.equals(compliance)) {
- possibleComplianceLevels = F_10;
- } else {
- System.out.println("Invalid compliance specified (" + compliance + ")");
- System.out.print("Use one of ");
- System.out.print(CompilerOptions.VERSION_1_3 + ", ");
- System.out.print(CompilerOptions.VERSION_1_4 + ", ");
- System.out.print(CompilerOptions.VERSION_1_5 + ", ");
- System.out.print(CompilerOptions.VERSION_1_6 + ", ");
- System.out.print(CompilerOptions.VERSION_1_7 + ", ");
- System.out.print(CompilerOptions.VERSION_1_8 + ", ");
- System.out.print(CompilerOptions.VERSION_1_8 + ", ");
- System.out.print(CompilerOptions.VERSION_9 + ", ");
- System.out.println(CompilerOptions.VERSION_10);
- System.out.println("Defaulting to all possible compliances");
+ String compliances = System.getProperty("compliance");
+ if (compliances != null) {
+ possibleComplianceLevels = 0;
+ for (String compliance : compliances.split(",")) {
+ if (CompilerOptions.VERSION_1_3.equals(compliance)) {
+ possibleComplianceLevels |= RUN_JAVAC ? NONE : F_1_3;
+ } else if (CompilerOptions.VERSION_1_4.equals(compliance)) {
+ possibleComplianceLevels |= RUN_JAVAC ? NONE : F_1_4;
+ } else if (CompilerOptions.VERSION_1_5.equals(compliance)) {
+ possibleComplianceLevels |= F_1_5;
+ } else if (CompilerOptions.VERSION_1_6.equals(compliance)) {
+ possibleComplianceLevels |= F_1_6;
+ } else if (CompilerOptions.VERSION_1_7.equals(compliance)) {
+ possibleComplianceLevels |= F_1_7;
+ } else if (CompilerOptions.VERSION_1_8.equals(compliance)) {
+ possibleComplianceLevels |= F_1_8;
+ } else if (CompilerOptions.VERSION_9.equals(compliance)) {
+ possibleComplianceLevels |= F_9;
+ } else if (CompilerOptions.VERSION_10.equals(compliance)) {
+ possibleComplianceLevels |= F_10;
+ } else {
+ System.out.println("Ignoring invalid compliance (" + compliance + ")");
+ System.out.print("Use one of ");
+ System.out.print(CompilerOptions.VERSION_1_3 + ", ");
+ System.out.print(CompilerOptions.VERSION_1_4 + ", ");
+ System.out.print(CompilerOptions.VERSION_1_5 + ", ");
+ System.out.print(CompilerOptions.VERSION_1_6 + ", ");
+ System.out.print(CompilerOptions.VERSION_1_7 + ", ");
+ System.out.print(CompilerOptions.VERSION_1_8 + ", ");
+ System.out.print(CompilerOptions.VERSION_1_8 + ", ");
+ System.out.print(CompilerOptions.VERSION_9 + ", ");
+ System.out.println(CompilerOptions.VERSION_10);
+ }
}
+ if (possibleComplianceLevels == 0) {
+ System.out.println("Defaulting to all possible compliances");
+ possibleComplianceLevels = UNINITIALIZED;
+ }
}
if (possibleComplianceLevels == UNINITIALIZED) {
if (!RUN_JAVAC) {
diff --git a/org.eclipse.jdt.core.tests.model/pom.xml b/org.eclipse.jdt.core.tests.model/pom.xml
index 038ffee..e35c535 100644
--- a/org.eclipse.jdt.core.tests.model/pom.xml
+++ b/org.eclipse.jdt.core.tests.model/pom.xml
@@ -104,7 +104,8 @@
</plugins>
</build>
<properties>
- <tycho.surefire.argLine>--add-modules ALL-SYSTEM</tycho.surefire.argLine>
+ <!-- Overridden in https://ci.eclipse.org/jdt/job/eclipse.jdt.core-run.javac-10/configure -->
+ <tycho.surefire.argLine>--add-modules ALL-SYSTEM -Dcompliance=1.4,1.7,1.8,10</tycho.surefire.argLine>
</properties>
</profile>
</profiles>