From 70343c347f52ce21bb2946e43d5d615f2bea1ada Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Dec 2024 21:46:32 +0000 Subject: [PATCH 1/3] Bump org.eclipse.jdt:ecj from 3.38.0 to 3.40.0 Bumps [org.eclipse.jdt:ecj](https://github.com/eclipse-jdt/eclipse.jdt.core) from 3.38.0 to 3.40.0. - [Commits](https://github.com/eclipse-jdt/eclipse.jdt.core/commits) --- updated-dependencies: - dependency-name: org.eclipse.jdt:ecj dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- plexus-compilers/plexus-compiler-eclipse/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plexus-compilers/plexus-compiler-eclipse/pom.xml b/plexus-compilers/plexus-compiler-eclipse/pom.xml index e2d1d344..90e32eff 100644 --- a/plexus-compilers/plexus-compiler-eclipse/pom.xml +++ b/plexus-compilers/plexus-compiler-eclipse/pom.xml @@ -25,7 +25,7 @@ org.eclipse.jdt ecj - 3.38.0 + 3.40.0 javax.inject From 8d5b80c39db3fd97dbd43f6727ffefaa2aea1348 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Wed, 25 Dec 2024 23:30:34 +0100 Subject: [PATCH 2/3] Try to fix --- .../compiler/eclipse/EclipseJavaCompiler.java | 6 +++--- .../EclipseCompilerErrorsAsWarningsTest.java | 18 ++++++++++++------ .../EclipseCompilerFailOnWarningsTest.java | 15 +++++++++++++-- .../compiler/eclipse/EclipseCompilerTest.java | 15 +++++++++++++-- 4 files changed, 41 insertions(+), 13 deletions(-) diff --git a/plexus-compilers/plexus-compiler-eclipse/src/main/java/org/codehaus/plexus/compiler/eclipse/EclipseJavaCompiler.java b/plexus-compilers/plexus-compiler-eclipse/src/main/java/org/codehaus/plexus/compiler/eclipse/EclipseJavaCompiler.java index f14db674..3c7f4f4c 100644 --- a/plexus-compilers/plexus-compiler-eclipse/src/main/java/org/codehaus/plexus/compiler/eclipse/EclipseJavaCompiler.java +++ b/plexus-compilers/plexus-compiler-eclipse/src/main/java/org/codehaus/plexus/compiler/eclipse/EclipseJavaCompiler.java @@ -234,11 +234,11 @@ public CompilerResult performCompile(CompilerConfiguration config) throws Compil getLog().debug("Using JSR-199 EclipseCompiler"); // ECJ JSR-199 compiles against the latest Java version it supports if no source // version is given explicitly. BatchCompiler uses 1.3 as default. So check - // whether a source version is specified, and if not supply 1.3 explicitly. + // whether a source version is specified, and if not supply 8 explicitly. if (!haveSourceOrReleaseArgument(args)) { - getLog().debug("ecj: no source level nor release specified, defaulting to Java 1.3"); + getLog().debug("ecj: no source level nor release specified, defaulting to Java 8"); args.add("-source"); - args.add("1.3"); + args.add("8"); } // Also check for the encoding. Could have been set via the CompilerConfig diff --git a/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerErrorsAsWarningsTest.java b/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerErrorsAsWarningsTest.java index 91580922..75c5279a 100644 --- a/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerErrorsAsWarningsTest.java +++ b/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerErrorsAsWarningsTest.java @@ -36,15 +36,21 @@ protected int expectedWarnings() { @Override protected Collection expectedOutputFiles() { + String javaVersion = getJavaVersion(); + if (javaVersion.contains("9.0") + || javaVersion.contains("11") + || javaVersion.contains("17") + || javaVersion.contains("21") + || javaVersion.contains("23")) { + return Arrays.asList( + "org/codehaus/foo/Deprecation.class", + "org/codehaus/foo/ExternalDeps.class", + "org/codehaus/foo/Person.class"); + } return Arrays.asList( "org/codehaus/foo/Deprecation.class", "org/codehaus/foo/ExternalDeps.class", "org/codehaus/foo/Person.class", - "org/codehaus/foo/ReservedWord.class" - // "org/codehaus/foo/Bad.class", // This one has no class file generated as it's one big - // issue - // "org/codehaus/foo/UnknownSymbol.class", - // "org/codehaus/foo/RightClassname.class" - ); + "org/codehaus/foo/ReservedWord.class"); } } diff --git a/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerFailOnWarningsTest.java b/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerFailOnWarningsTest.java index c5a94b3d..bf87e8e8 100644 --- a/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerFailOnWarningsTest.java +++ b/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerFailOnWarningsTest.java @@ -19,16 +19,27 @@ protected String getRoleHint() { @Override protected int expectedErrors() { - return 6; + return 5; } @Override protected int expectedWarnings() { - return 1; + return 0; } @Override protected Collection expectedOutputFiles() { + String javaVersion = getJavaVersion(); + if (javaVersion.contains("9.0") + || javaVersion.contains("11") + || javaVersion.contains("17") + || javaVersion.contains("21") + || javaVersion.contains("23")) { + return Arrays.asList( + "org/codehaus/foo/Deprecation.class", + "org/codehaus/foo/ExternalDeps.class", + "org/codehaus/foo/Person.class"); + } return Arrays.asList( "org/codehaus/foo/Deprecation.class", "org/codehaus/foo/ExternalDeps.class", diff --git a/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerTest.java b/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerTest.java index de72e6b4..042bddb2 100644 --- a/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerTest.java +++ b/plexus-compilers/plexus-compiler-eclipse/src/test/java/org/codehaus/plexus/compiler/eclipse/EclipseCompilerTest.java @@ -53,16 +53,27 @@ protected String getRoleHint() { @Override protected int expectedErrors() { - return 4; + return 5; } @Override protected int expectedWarnings() { - return 2; + return 1; } @Override protected Collection expectedOutputFiles() { + String javaVersion = getJavaVersion(); + if (javaVersion.contains("9.0") + || javaVersion.contains("11") + || javaVersion.contains("17") + || javaVersion.contains("21") + || javaVersion.contains("23")) { + return Arrays.asList( + "org/codehaus/foo/Deprecation.class", + "org/codehaus/foo/ExternalDeps.class", + "org/codehaus/foo/Person.class"); + } return Arrays.asList( "org/codehaus/foo/Deprecation.class", "org/codehaus/foo/ExternalDeps.class", From dae3c0795d075270406414daf5629ee80f4d8cf5 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Wed, 25 Dec 2024 21:13:09 +0100 Subject: [PATCH 3/3] Include JDK 24ea in CI --- .github/workflows/maven.yml | 4 ++ .../javac/JavacErrorProneCompilerTest.java | 2 + .../javac/AbstractJavacCompilerTest.java | 47 +++++++++---------- .../javac/JavaxToolsCompilerTest.java | 5 +- 4 files changed, 32 insertions(+), 26 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 018903b5..de7979a3 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -25,6 +25,10 @@ jobs: uses: codehaus-plexus/.github/.github/workflows/maven.yml@master with: matrix-exclude: '[ {"jdk": "8"}, {"jdk": "11"}, {"jdk": "23", distribution: "microsoft" } ]' + matrix-include: > + [ + {"jdk": "24-ea", "os": "ubuntu-latest", distribution: "temurin" } + ] jdk-distribution-matrix: '["zulu", "temurin", "microsoft", "liberica", "corretto"]' maven_args: 'verify javadoc:javadoc -e -B -V -fae' diff --git a/plexus-compilers/plexus-compiler-javac-errorprone/src/test/java/org/codehaus/plexus/compiler/javac/JavacErrorProneCompilerTest.java b/plexus-compilers/plexus-compiler-javac-errorprone/src/test/java/org/codehaus/plexus/compiler/javac/JavacErrorProneCompilerTest.java index c648bc4b..49875399 100644 --- a/plexus-compilers/plexus-compiler-javac-errorprone/src/test/java/org/codehaus/plexus/compiler/javac/JavacErrorProneCompilerTest.java +++ b/plexus-compilers/plexus-compiler-javac-errorprone/src/test/java/org/codehaus/plexus/compiler/javac/JavacErrorProneCompilerTest.java @@ -24,6 +24,8 @@ protected int expectedWarnings() { || javaVersion.contains("22") || javaVersion.contains("23")) { return 5; + } else if (javaVersion.contains("24")) { + return 4; } return 2; } diff --git a/plexus-compilers/plexus-compiler-javac/src/test/java/org/codehaus/plexus/compiler/javac/AbstractJavacCompilerTest.java b/plexus-compilers/plexus-compiler-javac/src/test/java/org/codehaus/plexus/compiler/javac/AbstractJavacCompilerTest.java index 88babc93..d1a73838 100644 --- a/plexus-compilers/plexus-compiler-javac/src/test/java/org/codehaus/plexus/compiler/javac/AbstractJavacCompilerTest.java +++ b/plexus-compilers/plexus-compiler-javac/src/test/java/org/codehaus/plexus/compiler/javac/AbstractJavacCompilerTest.java @@ -70,7 +70,8 @@ protected int expectedErrors() { || javaVersion.contains("20") || javaVersion.contains("21") || javaVersion.contains("22") - || javaVersion.contains("23")) { + || javaVersion.contains("23") + || javaVersion.contains("24")) { return 5; } // javac output changed for misspelled modifiers starting in 1.6...they now generate 2 errors per occurrence, @@ -96,7 +97,8 @@ protected int expectedWarnings() { || javaVersion.contains("20") || javaVersion.contains("21") || javaVersion.contains("22") - || javaVersion.contains("23")) { + || javaVersion.contains("23") + || javaVersion.contains("24")) { return 1; } if (javaVersion.contains("1.8")) { @@ -151,6 +153,9 @@ public String getTargetVersion() { if (javaVersion.contains("23")) { return "23"; } + if (javaVersion.contains("24")) { + return "24"; + } return super.getTargetVersion(); } @@ -159,39 +164,30 @@ public String getSourceVersion() { String javaVersion = getJavaVersion(); if (javaVersion.contains("9.0")) { return "1.7"; - } - if (javaVersion.contains("11")) { + } else if (javaVersion.contains("11")) { return "11"; - } - if (javaVersion.contains("14")) { + } else if (javaVersion.contains("14")) { return "14"; - } - if (javaVersion.contains("15")) { + } else if (javaVersion.contains("15")) { return "15"; - } - if (javaVersion.contains("16")) { + } else if (javaVersion.contains("16")) { return "16"; - } - if (javaVersion.contains("17")) { + } else if (javaVersion.contains("17")) { return "17"; - } - if (javaVersion.contains("18")) { + } else if (javaVersion.contains("18")) { return "18"; - } - if (javaVersion.contains("19")) { + } else if (javaVersion.contains("19")) { return "19"; - } - if (javaVersion.contains("20")) { + } else if (javaVersion.contains("20")) { return "20"; - } - if (javaVersion.contains("21")) { + } else if (javaVersion.contains("21")) { return "21"; - } - if (javaVersion.contains("22")) { + } else if (javaVersion.contains("22")) { return "22"; - } - if (javaVersion.contains("23")) { + } else if (javaVersion.contains("23")) { return "23"; + } else if (javaVersion.contains("24")) { + return "24"; } return super.getTargetVersion(); } @@ -210,7 +206,8 @@ protected Collection expectedOutputFiles() { || javaVersion.contains("20") || javaVersion.contains("21") || javaVersion.contains("22") - || javaVersion.contains("23")) { + || javaVersion.contains("23") + || javaVersion.contains("24")) { return Arrays.asList( "org/codehaus/foo/Deprecation.class", "org/codehaus/foo/ExternalDeps.class", diff --git a/plexus-compilers/plexus-compiler-javac/src/test/java/org/codehaus/plexus/compiler/javac/JavaxToolsCompilerTest.java b/plexus-compilers/plexus-compiler-javac/src/test/java/org/codehaus/plexus/compiler/javac/JavaxToolsCompilerTest.java index d1e89f1b..eeeffa0a 100644 --- a/plexus-compilers/plexus-compiler-javac/src/test/java/org/codehaus/plexus/compiler/javac/JavaxToolsCompilerTest.java +++ b/plexus-compilers/plexus-compiler-javac/src/test/java/org/codehaus/plexus/compiler/javac/JavaxToolsCompilerTest.java @@ -27,7 +27,10 @@ public class JavaxToolsCompilerTest extends AbstractJavacCompilerTest { @Override protected int expectedWarnings() { String javaVersion = getJavaVersion(); - if (javaVersion.contains("21") || javaVersion.contains("22") || javaVersion.contains("23")) { + if (javaVersion.contains("21") + || javaVersion.contains("22") + || javaVersion.contains("23") + || javaVersion.contains("24")) { return 1; } else { return super.expectedWarnings();