diff --git a/src/main/resources/META-INF/rewrite/java-version-11.yml b/src/main/resources/META-INF/rewrite/java-version-11.yml index 260721fdcf..bea9f2d558 100644 --- a/src/main/resources/META-INF/rewrite/java-version-11.yml +++ b/src/main/resources/META-INF/rewrite/java-version-11.yml @@ -110,6 +110,7 @@ recipeList: groupId: org.apache.maven.plugins artifactId: maven-compiler-plugin newVersion: 3.6.2 + addVersionIfMissing: true - org.openrewrite.github.SetupJavaUpgradeJavaVersion: minimumJavaMajorVersion: 11 - org.openrewrite.maven.UpgradePluginVersion: diff --git a/src/main/resources/META-INF/rewrite/java-version-17.yml b/src/main/resources/META-INF/rewrite/java-version-17.yml index c4803782ef..45d5baa447 100644 --- a/src/main/resources/META-INF/rewrite/java-version-17.yml +++ b/src/main/resources/META-INF/rewrite/java-version-17.yml @@ -110,6 +110,7 @@ recipeList: groupId: org.apache.maven.plugins artifactId: maven-compiler-plugin newVersion: 3.x + addVersionIfMissing: true - org.openrewrite.maven.UpgradePluginVersion: groupId: org.apache.maven.plugins artifactId: maven-war-plugin diff --git a/src/main/resources/META-INF/rewrite/java-version-25.yml b/src/main/resources/META-INF/rewrite/java-version-25.yml index c0cb0d3925..77b9c310a8 100644 --- a/src/main/resources/META-INF/rewrite/java-version-25.yml +++ b/src/main/resources/META-INF/rewrite/java-version-25.yml @@ -207,6 +207,7 @@ recipeList: groupId: org.apache.maven.plugins artifactId: maven-compiler-plugin newVersion: 3.15.x + addVersionIfMissing: true - org.openrewrite.maven.UpgradePluginVersion: groupId: org.apache.maven.plugins artifactId: maven-surefire-plugin diff --git a/src/test/java/org/openrewrite/java/migrate/Java8toJava11Test.java b/src/test/java/org/openrewrite/java/migrate/Java8toJava11Test.java index db2594f6da..641e1d0fdd 100644 --- a/src/test/java/org/openrewrite/java/migrate/Java8toJava11Test.java +++ b/src/test/java/org/openrewrite/java/migrate/Java8toJava11Test.java @@ -70,6 +70,86 @@ void needToJaxb2MavenPlugin() { ); } + @Test + void compilerPluginVersionAddedWhenMissing() { + rewriteRun( + version( + mavenProject("project", + //language=xml + pomXml( + """ + + com.mycompany.app + my-app + 1 + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + + + """, + spec -> spec.after(pomXml -> { + assertThat(pomXml).contains("3."); + return pomXml; + }) + ) + ), + 8) + ); + } + + @Test + void compilerPluginVersionAddedAndReleaseSetForFullMigration() { + rewriteRun( + spec -> spec.recipe(Environment.builder() + .scanRuntimeClasspath("org.openrewrite.java.migrate") + .build() + .activateRecipes("org.openrewrite.java.migrate.Java8toJava11")), + version( + mavenProject("project", + //language=xml + pomXml( + """ + + com.mycompany.app + my-app + 1 + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + + + """, + spec -> spec.after(pomXml -> { + assertThat(pomXml) + .contains("11") + .contains("3.") + .doesNotContain("") + .doesNotContain(""); + return pomXml; + }) + ) + ), + 8) + ); + } + @Test void noChangeOnCorrectJaxb2MavenPluginVersion() { rewriteRun(