Skip to content

Commit c97da65

Browse files
committed
Make build and run tests with Java 18/19 possible
1 parent 210743c commit c97da65

File tree

3 files changed

+51
-15
lines changed

3 files changed

+51
-15
lines changed

.github/workflows/maven.yml

+9-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,15 @@ jobs:
2727
uses: codehaus-plexus/.github/.github/workflows/maven.yml@master
2828
with:
2929
jdk-fast-fail-build: '11'
30-
jdk-matrix: '["11", "17"]'
31-
jdk-distribution-matrix: '["zulu", "temurin", "microsoft", "liberica"]'
30+
jdk-matrix: '["11", "17", "18", "19-ea"]'
31+
jdk-distribution-matrix: '["zulu", "temurin", "microsoft", "liberica","corretto"]'
3232
os-matrix: '["ubuntu-latest","windows-latest", "macOS-latest"]'
33+
matrix-exclude: '[
34+
{ "jdk": "18", "distribution": "microsoft" },
35+
{ "jdk": "19-ea", "distribution": "corretto" },
36+
{ "jdk": "19-ea", "distribution": "liberica" },
37+
{ "jdk": "19-ea", "distribution": "microsoft" },
38+
{ "jdk": "19-ea", "distribution": "temurin" }
39+
]'
3340
maven_args: 'install javadoc:javadoc -e -B -V -fae -Pno-tests-if-not-on-osx'
3441

plexus-compiler-its/pom.xml

+19
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,25 @@
6565
</configuration>
6666
</execution>
6767
</executions>
68+
<dependencies>
69+
<!-- required for Java 19+ (ASM 9.3) -->
70+
<dependency>
71+
<groupId>org.codehaus.groovy</groupId>
72+
<artifactId>groovy</artifactId>
73+
<version>3.0.11</version>
74+
<scope>runtime</scope>
75+
</dependency>
76+
<dependency>
77+
<groupId>org.codehaus.groovy</groupId>
78+
<artifactId>groovy-json</artifactId>
79+
<version>3.0.11</version>
80+
</dependency>
81+
<dependency>
82+
<groupId>org.codehaus.groovy</groupId>
83+
<artifactId>groovy-xml</artifactId>
84+
<version>3.0.11</version>
85+
</dependency>
86+
</dependencies>
6887
</plugin>
6988
</plugins>
7089
</build>

plexus-compilers/plexus-compiler-javac/src/test/java/org/codehaus/plexus/compiler/javac/AbstractJavacCompilerTest.java

+23-13
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ protected int expectedErrors()
6868
{
6969
String javaVersion = getJavaVersion();
7070
if (javaVersion.contains("9.0")||javaVersion.contains("11")||javaVersion.contains("14")||
71-
javaVersion.contains("15")||javaVersion.contains("16")||javaVersion.contains("17")){
72-
// lots of new warnings about obsoletions for future releases
71+
javaVersion.contains("15")||javaVersion.contains("16")||javaVersion.contains("17")||
72+
javaVersion.contains("18")||javaVersion.contains("19")){
7373
return 5;
7474
}
7575
// javac output changed for misspelled modifiers starting in 1.6...they now generate 2 errors per occurrence, not one.
@@ -88,14 +88,10 @@ protected int expectedWarnings()
8888
{
8989
String javaVersion = getJavaVersion();
9090
if (javaVersion.contains("9.0")||javaVersion.contains("11")||javaVersion.contains("14")||
91-
javaVersion.contains("15")||javaVersion.contains("16")||javaVersion.contains("17")){
91+
javaVersion.contains("15")||javaVersion.contains("16")||javaVersion.contains("17")||
92+
javaVersion.contains("18")||javaVersion.contains("19")){
9293
return 1;
9394
}
94-
if (javaVersion.contains("9.0")){
95-
// lots of new warnings about obsoletions for future releases
96-
return 8;
97-
}
98-
9995
if (javaVersion.contains("1.8")){
10096
// lots of new warnings about obsoletions for future releases
10197
return 30;
@@ -132,6 +128,12 @@ public String getTargetVersion()
132128
if (javaVersion.contains("17")){
133129
return "17";
134130
}
131+
if (javaVersion.contains("18")){
132+
return "18";
133+
}
134+
if (javaVersion.contains("19")){
135+
return "19";
136+
}
135137
return super.getTargetVersion();
136138
}
137139

@@ -161,6 +163,12 @@ public String getSourceVersion()
161163
if (javaVersion.contains("17")){
162164
return "17";
163165
}
166+
if (javaVersion.contains("18")){
167+
return "18";
168+
}
169+
if (javaVersion.contains("19")){
170+
return "19";
171+
}
164172
return super.getTargetVersion();
165173
}
166174

@@ -169,12 +177,14 @@ protected Collection<String> expectedOutputFiles()
169177
{
170178
String javaVersion = getJavaVersion();
171179
if (javaVersion.contains("9.0")||javaVersion.contains("11")||javaVersion.contains("14")||
172-
javaVersion.contains("15")||javaVersion.contains("16")||javaVersion.contains("17")){
173-
return Arrays.asList( new String[]{ "org/codehaus/foo/Deprecation.class", "org/codehaus/foo/ExternalDeps.class",
174-
"org/codehaus/foo/Person.class"} );
180+
javaVersion.contains("15")||javaVersion.contains("16")||javaVersion.contains("17")||
181+
javaVersion.contains("18")||javaVersion.contains("19")
182+
){
183+
return Arrays.asList( "org/codehaus/foo/Deprecation.class", "org/codehaus/foo/ExternalDeps.class",
184+
"org/codehaus/foo/Person.class" );
175185
}
176-
return Arrays.asList( new String[]{ "org/codehaus/foo/Deprecation.class", "org/codehaus/foo/ExternalDeps.class",
177-
"org/codehaus/foo/Person.class", "org/codehaus/foo/ReservedWord.class" } );
186+
return Arrays.asList( "org/codehaus/foo/Deprecation.class", "org/codehaus/foo/ExternalDeps.class",
187+
"org/codehaus/foo/Person.class", "org/codehaus/foo/ReservedWord.class" );
178188
}
179189

180190
protected void internalTest(CompilerConfiguration compilerConfiguration, List<String> expectedArguments) {

0 commit comments

Comments
 (0)