Conversation
Stephan202
left a comment
There was a problem hiding this comment.
The build now fails with JDK 23 and 24, due to the following error:
Caused by: java.lang.NoSuchMethodError: 'com.sun.tools.javac.tree.DCTree$DCDocComment com.sun.tools.javac.tree.DocCommentTable.getCommentTree(com.sun.tools.javac.tree.JCTree)'
at org.openrewrite.java.isolated.ReloadableJava21ParserVisitor.convert(ReloadableJava21ParserVisitor.java:1839)
... 87 more
@timtebeek with JDK 25 around the corner, I'm not sure you're interested in fixing this ^.
I did just now try to build with JDK 25.ea.36-open and org.openrewrite:rewrite-java-25, but then org.openrewrite:rewrite-templating causes Java to report warnings for which a suppression is in place; it appears that OpenRewrite somehow messes with the compiler diagnostics. 🤔 (I can file an upstream issue for this if you want; it would prevent us from adopting JDK 25.)
1f91f88 to
0193c27
Compare
|
hi! We did indeed make a deliberate change in how we select the Java parser to use, and which features to support in each parser. That's described here as well We'd be interested to hear what warnings would prevent you from upgrading, and if that's something we can fix with a patch release we're happy to do so. |
|
Check! I'll get back to you on the deprecation warnings. |
0193c27 to
ce0f9ea
Compare
ce0f9ea to
3b6b58e
Compare
|
Looks good. No mutations were possible for these changes. |
Stephan202
left a comment
There was a problem hiding this comment.
I rebased and added a commit to include rewrite-java-25.
So when building with JDK 25, mvn clean compile -pl error-prone-contrib now breaks due to the following warnings (as we build with -Werror):
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJRules.java:[175,35] unchecked generic array creation for varargs parameter of type S[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJRules.java:[176,38] unchecked generic array creation for varargs parameter of type S[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJRules.java:[177,41] unchecked generic array creation for varargs parameter of type S[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJRules.java:[183,33] unchecked generic array creation for varargs parameter of type S[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJRules.java:[191,47] unchecked generic array creation for varargs parameter of type S[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJRules.java:[197,39] unchecked generic array creation for varargs parameter of type S[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJRules.java:[206,50] unchecked generic array creation for varargs parameter of type S[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJThrowingCallableRules.java:[769,29] hasCauseReference(java.lang.Throwable) in org.assertj.core.api.AbstractThrowableAssert has been deprecated
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/ImmutableEnumSetRules.java:[93,35] unchecked generic array creation for varargs parameter of type T[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/ImmutableEnumSetRules.java:[115,35] unchecked generic array creation for varargs parameter of type T[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/ImmutableEnumSetRules.java:[138,35] unchecked generic array creation for varargs parameter of type T[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/ImmutableEnumSetRules.java:[161,35] unchecked generic array creation for varargs parameter of type T[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/ImmutableEnumSetRules.java:[184,35] unchecked generic array creation for varargs parameter of type T[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/ImmutableEnumSetRules.java:[205,35] unchecked generic array creation for varargs parameter of type T[]
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/MockitoRules.java:[73,85] unchecked cast
required: T
found: java.lang.Object
[WARNING] /tmp/error-prone-support/error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/ReactorRules.java:[2079,26] unchecked generic array creation for varargs parameter of type T[]
The warnings don't occur (correctly, as they're suppressed) when I disable the annotation processor:
diff --git a/pom.xml b/pom.xml
index aa5b1114..72834b7f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -962,10 +962,6 @@
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
</path>
- <path>
- <groupId>org.openrewrite</groupId>
- <artifactId>rewrite-templating</artifactId>
- </path>
</annotationProcessorPaths>
<compilerArgs>
<arg>--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>(@timtebeek I'll file an issue upstream in your issue tracker, referencing this comment.)
|
Suggested commit message: |
|
I filed openrewrite/rewrite-templating#165. |
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Update for watchers of this PR: the issue is triggered by a change in JDK 25 that is already fixed for JDK 26. Let's see whether we can get the fix backported. Details in the linked issue. |
|
From the comments on openjdk/jdk#24584 (comment) it doesn't seem like there's a lot of excitement around a back port of the fix in 26 to 25. Would it be possible to instead loosen the validation options specifically only for the compile-recipes execution? Lines 995 to 1015 in 6aec53d That way we could get this change in and the annotation processor option I want to add once this has been merged:
|
3b6b58e to
3d4e665
Compare
|
Looks good. No mutations were possible for these changes. |
|
@timtebeek sorry for the radio silence here; it's been very busy. Working around it proved to be more involved, but I think I managed 🎉. I rebased and added two commits. (Not sure whether the Reviewdog build failure comes from all of a sudden, but hopefully that goes away after #1915.) |
Stephan202
left a comment
There was a problem hiding this comment.
Optimistically approving :)
3d4e665 to
0f3f390
Compare
|
Looks good. No mutations were possible for these changes. |
|



This PR contains the following updates:
3.14.0->3.14.1Release Notes
openrewrite/rewrite-recipe-bom (OpenRewrite)
v3.14.1: 3.14.1Compare Source
What's Changed
Full Changelog: https://github.com/openrewrite/rewrite-recipe-bom