From 7fc81d5998460ca95ee5349c6777a403ccae2897 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Wed, 16 Sep 2026 01:16:02 +0200 Subject: [PATCH] Bump Error Prone to 2.50.0, requires Java 21 Error Prone 2.37.0 reads JCCompilationUnit.endPositions, which JDK 27 removed (JDK-8372948), so javac-with-errorprone fails on JDK 27. Error Prone fixed that in 2.47.0, and every release since 2.43.0 needs a JDK 21 runtime, so the errorprone module and the ITs move their javaVersion to 21. Since 2.46.0 Error Prone on JDK 21 also refuses to run without -XDaddTypeAnnotationsToSymbol=true, so the two ITs pass it. --- plexus-compiler-its/pom.xml | 2 +- plexus-compiler-its/src/main/it/error-prone-compiler/pom.xml | 1 + plexus-compiler-its/src/main/it/issues-351/pom.xml | 1 + plexus-compilers/plexus-compiler-javac-errorprone/pom.xml | 2 +- .../src/site/markdown/index.md | 2 +- .../plexus/compiler/javac/JavacErrorProneCompilerTest.java | 3 ++- pom.xml | 2 +- 7 files changed, 8 insertions(+), 5 deletions(-) diff --git a/plexus-compiler-its/pom.xml b/plexus-compiler-its/pom.xml index 3fa5a7e62..e2ac1b1d7 100644 --- a/plexus-compiler-its/pom.xml +++ b/plexus-compiler-its/pom.xml @@ -15,7 +15,7 @@ 4.13.2 - 17 + 21 true diff --git a/plexus-compiler-its/src/main/it/error-prone-compiler/pom.xml b/plexus-compiler-its/src/main/it/error-prone-compiler/pom.xml index a50cee55d..5a8896259 100644 --- a/plexus-compiler-its/src/main/it/error-prone-compiler/pom.xml +++ b/plexus-compiler-its/src/main/it/error-prone-compiler/pom.xml @@ -49,6 +49,7 @@ true -XDcompilePolicy=simple + -XDaddTypeAnnotationsToSymbol=true -Xplugin:ErrorProne --should-stop=ifError=FLOW -J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED diff --git a/plexus-compiler-its/src/main/it/issues-351/pom.xml b/plexus-compiler-its/src/main/it/issues-351/pom.xml index 15ffe11a6..5eb49dd2f 100644 --- a/plexus-compiler-its/src/main/it/issues-351/pom.xml +++ b/plexus-compiler-its/src/main/it/issues-351/pom.xml @@ -55,6 +55,7 @@ -J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED -XDcompilePolicy=simple + -XDaddTypeAnnotationsToSymbol=true --should-stop=ifError=FLOW -Xplugin:ErrorProne -Xep:DeadException:WARN diff --git a/plexus-compilers/plexus-compiler-javac-errorprone/pom.xml b/plexus-compilers/plexus-compiler-javac-errorprone/pom.xml index f8e96af38..60e51ba00 100644 --- a/plexus-compilers/plexus-compiler-javac-errorprone/pom.xml +++ b/plexus-compilers/plexus-compiler-javac-errorprone/pom.xml @@ -16,7 +16,7 @@ See https://errorprone.info - 17 + 21 diff --git a/plexus-compilers/plexus-compiler-javac-errorprone/src/site/markdown/index.md b/plexus-compilers/plexus-compiler-javac-errorprone/src/site/markdown/index.md index aa7f27659..efc5dbf5a 100644 --- a/plexus-compilers/plexus-compiler-javac-errorprone/src/site/markdown/index.md +++ b/plexus-compilers/plexus-compiler-javac-errorprone/src/site/markdown/index.md @@ -6,4 +6,4 @@ with error-prone static analysis checks enabled. See https://errorprone.info -**Requires** `JDK 17+` +**Requires** `JDK 21+` 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 2e6eb9a2a..553e06af6 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 @@ -17,7 +17,8 @@ protected int expectedWarnings() { String javaVersion = getJavaVersion(); if (javaVersion.startsWith("1.8")) { return 1; - } else if (javaVersion.contains("21") || javaVersion.contains("25")) { + } else if (Runtime.version().feature() >= 21) { + // javac 21 and later also warn that -source 8 and -target 8 are obsolete return 5; } return 2; diff --git a/pom.xml b/pom.xml index a001176cd..d9241c184 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,7 @@ true 2026-09-09T11:47:52Z 1.9.21 - 2.37.0 + 2.50.0 1.1.0 false clean install