Skip to content

Commit cd5c542

Browse files
committed
Update Java version checks to include JDK 25
1 parent ab7ef42 commit cd5c542

File tree

7 files changed

+42
-75
lines changed

7 files changed

+42
-75
lines changed

plexus-compilers/plexus-compiler-aspectj/src/main/java/org/codehaus/plexus/compiler/ajc/AspectJCompiler.java

Lines changed: 27 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -550,45 +550,33 @@ private static long versionStringToMajorMinor(String version) throws CompilerExc
550550
// Accept, but cut off trailing ".0", as ECJ/ACJ explicitly support versions like 5.0, 8.0, 11.0
551551
.replaceFirst("[.]0$", "");
552552

553-
switch (version) {
554-
// Java 1.6 as a default source/target seems to make sense. Maven Compiler should set its own default
555-
// anyway, so this probably never needs to be used. But not having a default feels bad, too.
556-
case "":
557-
return ClassFileConstants.JDK1_6;
558-
case "1":
559-
return ClassFileConstants.JDK1_1;
560-
case "2":
561-
return ClassFileConstants.JDK1_2;
562-
case "3":
563-
return ClassFileConstants.JDK1_3;
564-
case "4":
565-
return ClassFileConstants.JDK1_4;
566-
case "5":
567-
return ClassFileConstants.JDK1_5;
568-
case "6":
569-
return ClassFileConstants.JDK1_6;
570-
case "7":
571-
return ClassFileConstants.JDK1_7;
572-
case "8":
573-
return ClassFileConstants.JDK1_8;
574-
case "9":
575-
return ClassFileConstants.JDK9;
576-
case "10":
577-
return ClassFileConstants.JDK10;
578-
case "11":
579-
return ClassFileConstants.JDK11;
580-
case "12":
581-
return ClassFileConstants.JDK12;
582-
case "13":
583-
return ClassFileConstants.JDK13;
584-
case "14":
585-
return ClassFileConstants.JDK14;
586-
case "15":
587-
return ClassFileConstants.JDK15;
588-
case "16":
589-
return ClassFileConstants.JDK16;
590-
}
591-
throw new CompilerException("Unknown Java source/target version number: " + version);
553+
return switch (version) {
554+
// Java 1.6 as a default source/target seems to make sense. Maven Compiler should set its own default
555+
// anyway, so this probably never needs to be used. But not having a default feels bad, too.
556+
case "" -> ClassFileConstants.JDK1_6;
557+
case "1" -> ClassFileConstants.JDK1_1;
558+
case "2" -> ClassFileConstants.JDK1_2;
559+
case "3" -> ClassFileConstants.JDK1_3;
560+
case "4" -> ClassFileConstants.JDK1_4;
561+
case "5" -> ClassFileConstants.JDK1_5;
562+
case "6" -> ClassFileConstants.JDK1_6;
563+
case "7" -> ClassFileConstants.JDK1_7;
564+
case "8" -> ClassFileConstants.JDK1_8;
565+
case "9" -> ClassFileConstants.JDK9;
566+
case "10" -> ClassFileConstants.JDK10;
567+
case "11" -> ClassFileConstants.JDK11;
568+
case "12" -> ClassFileConstants.JDK12;
569+
case "13" -> ClassFileConstants.JDK13;
570+
case "14" -> ClassFileConstants.JDK14;
571+
case "15" -> ClassFileConstants.JDK15;
572+
case "16" -> ClassFileConstants.JDK16;
573+
case "17" -> ClassFileConstants.JDK17;
574+
case "18" -> ClassFileConstants.JDK18;
575+
case "19" -> ClassFileConstants.JDK19;
576+
case "20" -> ClassFileConstants.JDK20;
577+
case "21" -> ClassFileConstants.JDK21;
578+
default -> throw new CompilerException("Unknown Java source/target version number: " + version);
579+
};
592580
}
593581

594582
/**

plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerErrorsAsWarningsTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,10 @@ protected int expectedWarnings() {
3737
@Override
3838
protected Collection<String> expectedOutputFiles() {
3939
String javaVersion = getJavaVersion();
40-
if (javaVersion.contains("9.0")
41-
|| javaVersion.contains("11")
40+
if (javaVersion.contains("11")
4241
|| javaVersion.contains("17")
4342
|| javaVersion.contains("21")
44-
|| javaVersion.contains("24")) {
43+
|| javaVersion.contains("25")) {
4544
return Arrays.asList(
4645
"org/codehaus/foo/Deprecation.class",
4746
"org/codehaus/foo/ExternalDeps.class",

plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerFailOnWarningsTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ protected Collection<String> expectedOutputFiles() {
3434
|| javaVersion.contains("11")
3535
|| javaVersion.contains("17")
3636
|| javaVersion.contains("21")
37-
|| javaVersion.contains("24")) {
37+
|| javaVersion.contains("25")) {
3838
return Arrays.asList(
3939
"org/codehaus/foo/Deprecation.class",
4040
"org/codehaus/foo/ExternalDeps.class",

plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ protected Collection<String> expectedOutputFiles() {
6868
|| javaVersion.contains("11")
6969
|| javaVersion.contains("17")
7070
|| javaVersion.contains("21")
71-
|| javaVersion.contains("24")) {
71+
|| javaVersion.contains("25")) {
7272
return Arrays.asList(
7373
"org/codehaus/foo/Deprecation.class",
7474
"org/codehaus/foo/ExternalDeps.class",

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

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,7 @@ protected int expectedWarnings() {
1717
String javaVersion = getJavaVersion();
1818
if (javaVersion.startsWith("1.8")) {
1919
return 1;
20-
} else if (javaVersion.contains("18")
21-
|| javaVersion.contains("19")
22-
|| javaVersion.contains("20")
23-
|| javaVersion.contains("21")
24-
|| javaVersion.contains("22")
25-
|| javaVersion.contains("23")
26-
|| javaVersion.contains("24")) {
20+
} else if (javaVersion.contains("21") || javaVersion.contains("25")) {
2721
return 5;
2822
}
2923
return 2;

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

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ protected int expectedErrors() {
6262
if (javaVersion.contains("11")
6363
|| javaVersion.contains("17")
6464
|| javaVersion.contains("21")
65-
|| javaVersion.contains("24")) {
65+
|| javaVersion.contains("25")) {
6666
return 5;
6767
}
6868
// javac output changed for misspelled modifiers starting in 1.6...they now generate 2 errors per occurrence,
@@ -77,19 +77,10 @@ protected int expectedErrors() {
7777
@Override
7878
protected int expectedWarnings() {
7979
String javaVersion = getJavaVersion();
80-
if (javaVersion.contains("9.0")
81-
|| javaVersion.contains("11")
82-
|| javaVersion.contains("14")
83-
|| javaVersion.contains("15")
84-
|| javaVersion.contains("16")
80+
if (javaVersion.contains("11")
8581
|| javaVersion.contains("17")
86-
|| javaVersion.contains("18")
87-
|| javaVersion.contains("19")
88-
|| javaVersion.contains("20")
8982
|| javaVersion.contains("21")
90-
|| javaVersion.contains("22")
91-
|| javaVersion.contains("23")
92-
|| javaVersion.contains("24")) {
83+
|| javaVersion.contains("25")) {
9384
return 1;
9485
}
9586
if (javaVersion.contains("1.8")) {
@@ -134,6 +125,8 @@ public String getTargetVersion() {
134125
return "23";
135126
} else if (javaVersion.contains("24")) {
136127
return "24";
128+
} else if (javaVersion.contains("25")) {
129+
return "25";
137130
}
138131
return super.getTargetVersion();
139132
}
@@ -167,26 +160,19 @@ public String getSourceVersion() {
167160
return "23";
168161
} else if (javaVersion.contains("24")) {
169162
return "24";
163+
} else if (javaVersion.contains("25")) {
164+
return "25";
170165
}
171166
return super.getTargetVersion();
172167
}
173168

174169
@Override
175170
protected Collection<String> expectedOutputFiles() {
176171
String javaVersion = getJavaVersion();
177-
if (javaVersion.contains("9.0")
178-
|| javaVersion.contains("11")
179-
|| javaVersion.contains("14")
180-
|| javaVersion.contains("15")
181-
|| javaVersion.contains("16")
172+
if (javaVersion.contains("11")
182173
|| javaVersion.contains("17")
183-
|| javaVersion.contains("18")
184-
|| javaVersion.contains("19")
185-
|| javaVersion.contains("20")
186174
|| javaVersion.contains("21")
187-
|| javaVersion.contains("22")
188-
|| javaVersion.contains("23")
189-
|| javaVersion.contains("24")) {
175+
|| javaVersion.contains("25")) {
190176
return Arrays.asList(
191177
"org/codehaus/foo/Deprecation.class",
192178
"org/codehaus/foo/ExternalDeps.class",

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class JavaxToolsCompilerTest extends AbstractJavacCompilerTest {
2727
@Override
2828
protected int expectedWarnings() {
2929
String javaVersion = getJavaVersion();
30-
if (javaVersion.contains("21") || javaVersion.contains("24")) {
30+
if (javaVersion.contains("21") || javaVersion.contains("25")) {
3131
return 1;
3232
} else {
3333
return super.expectedWarnings();

0 commit comments

Comments
 (0)