Visitar URL original
Upgrade Maven build plugins and reactor Lombok processing for Java 25 by jkschneider · Pull Request #1234 · openrewrite/rewrite-migrate-java · GitHub
Skip to content

Upgrade Maven build plugins and reactor Lombok processing for Java 25 - #1234

Merged
jkschneider merged 10 commits into
mainfrom
java25-build-reach
Nov 3, 2026
Merged

jkschneider merged 10 commits into
mainfrom
java25-build-reach

Conversation

@jkschneider

@jkschneider jkschneider commented Sep 4, 2026 •

Copy link
Copy Markdown
Member

Java 25 bytecode exposes old build-plugin readers and inherited Lombok processor configuration. In the current consumer tests, Maven Shade 3.6.0 fails after 21 passing unit tests, and Maven Plugin Plugin 3.15.1 fails generating a descriptor before tests.

Upgrade the affected Maven build-plugin lines and Checkstyle dependency, including Shade, without adding unrelated plugins or downgrading newer major lines. Match a Lombok-using module and its in-reactor parent so AddAnnotationProcessor can update inherited pluginManagement. Preserve current Gradle 9 migration composition.

Validation: seven focused plugin regressions/controls and two original plugin/Lombok-parent tests pass. The two Shade cases fail before the added rule. Independent source review and all nine focused tests pass; production helper compiles for Java 8. Full current test classes compile. Final combined consumer replay is pending; Vaadin's separate Plexus test errors already occur on its original baseline.

Compatibility references: Shade 3.6.1 uses ASM 9.8, and Plugin Tools 3.15.2 uses ASM 9.9.

The versionless plugin declaration inherited from an external parent is explicitly upgraded with trustParent: false. That case depends on rewrite#9593, which implements the option for missing inherited versions and contains the real mojo-parent 87 regression. Combined source-bundle testing passes that regression before either PR is merged.

…on tests

A module whose compiler level lives in the parent's pluginManagement, either
literally or through a custom property, must be raised with the parent.
maven-enforcer-plugin 1.x, maven-assembly-plugin 2.x and maven-plugin-plugin
3.6 fail at startup on JDK 25, and a checkstyle pinned on
maven-checkstyle-plugin must parse the pattern-matching switch the Java 21
migration writes.
…the Gradle 9 wrapper

Gradle 9 removed the JavaPluginConvention, so a build that assigned
sourceCompatibility on the project stopped configuring once the wrapper moved.
JDK 23 stopped running annotation processors found on the classpath, so
AddAnnotationProcessor writes the lombok path into the parent's
pluginManagement. A per-module precondition never marked that parent pom, so
multi-module builds kept compiling without Lombok on JDK 25.
@jkschneider jkschneider changed the title Raise the build plugins and Lombok processor path that Java 25 needs, and keep Gradle 9 builds configuring Upgrade Maven build plugins and reactor Lombok processing for Java 25 Nov 3, 2026
@jkschneider
jkschneider merged commit b8346d8 into main Nov 3, 2026
1 check passed
@jkschneider
jkschneider deleted the java25-build-reach branch November 3, 2026 05:59
@github-project-automation github-project-automation Bot moved this from In Progress to Done in OpenRewrite Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants