This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch maven-4.0.x
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/maven-4.0.x by this push:
     new 004d2435ee mvnup: upgrade enforcer plugin minimum and add new plugin 
upgrades (#12121)
004d2435ee is described below

commit 004d2435ee39f6dac13967d813f732a2075bd7ed
Author: Guillaume Nodet <[email protected]>
AuthorDate: Wed May 20 16:31:17 2026 +0200

    mvnup: upgrade enforcer plugin minimum and add new plugin upgrades (#12121)
    
    Upgrade maven-enforcer-plugin minimum from 3.0.0 to 3.5.2 because
    versions before 3.5.2 use the removed PluginParameterExpressionEvaluator
    6-arg constructor, causing NoSuchMethodError with Maven 4.
    
    Add new plugin upgrades for Maven 4 compatibility:
    - net.alchim31.maven:scala-maven-plugin minimum 4.9.2 (older versions
      call add() on immutable lists returned by Maven 4 API)
    - maven-resources-plugin minimum 3.3.1 (beta/RC versions compiled
      against different Maven 4 API signatures)
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
---
 .../invoker/mvnup/goals/PluginUpgradeStrategy.java | 25 +++++++++++++++++++---
 .../mvnup/goals/PluginUpgradeStrategyTest.java     |  6 +++---
 2 files changed, 25 insertions(+), 6 deletions(-)

diff --git 
a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnup/goals/PluginUpgradeStrategy.java
 
b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnup/goals/PluginUpgradeStrategy.java
index d6db2dd01f..468881acb2 100644
--- 
a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnup/goals/PluginUpgradeStrategy.java
+++ 
b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnup/goals/PluginUpgradeStrategy.java
@@ -92,7 +92,10 @@ public class PluginUpgradeStrategy extends 
AbstractUpgradeStrategy {
             new PluginUpgrade(
                     DEFAULT_MAVEN_PLUGIN_GROUP_ID, "maven-exec-plugin", 
"3.2.0", MAVEN_4_COMPATIBILITY_REASON),
             new PluginUpgrade(
-                    DEFAULT_MAVEN_PLUGIN_GROUP_ID, "maven-enforcer-plugin", 
"3.0.0", MAVEN_4_COMPATIBILITY_REASON),
+                    DEFAULT_MAVEN_PLUGIN_GROUP_ID,
+                    "maven-enforcer-plugin",
+                    "3.5.2",
+                    "Versions before 3.5.2 use removed 
PluginParameterExpressionEvaluator API incompatible with Maven 4"),
             new PluginUpgrade("org.codehaus.mojo", "flatten-maven-plugin", 
"1.2.7", MAVEN_4_COMPATIBILITY_REASON),
             new PluginUpgrade(
                     DEFAULT_MAVEN_PLUGIN_GROUP_ID, "maven-shade-plugin", 
"3.5.0", MAVEN_4_COMPATIBILITY_REASON),
@@ -109,7 +112,17 @@ public class PluginUpgradeStrategy extends 
AbstractUpgradeStrategy {
                     DEFAULT_MAVEN_PLUGIN_GROUP_ID,
                     "maven-surefire-report-plugin",
                     "3.5.2",
-                    MAVEN_4_COMPATIBILITY_REASON));
+                    MAVEN_4_COMPATIBILITY_REASON),
+            new PluginUpgrade(
+                    "net.alchim31.maven",
+                    "scala-maven-plugin",
+                    "4.9.2",
+                    "Versions before 4.9.2 call add() on immutable lists 
returned by Maven 4 API"),
+            new PluginUpgrade(
+                    DEFAULT_MAVEN_PLUGIN_GROUP_ID,
+                    "maven-resources-plugin",
+                    "3.3.1",
+                    "Beta/RC versions compiled against different Maven 4 API 
signatures"));
 
     private static final List<PluginUpgrade> PLUGIN_DEPENDENCY_UPGRADES = 
List.of(new PluginUpgrade(
             "org.codehaus.mojo",
@@ -253,7 +266,7 @@ private Map<String, PluginUpgradeInfo> 
getPluginUpgradesMap() {
                 new PluginUpgradeInfo("org.codehaus.mojo", 
"exec-maven-plugin", "3.2.0"));
         upgrades.put(
                 DEFAULT_MAVEN_PLUGIN_GROUP_ID + ":maven-enforcer-plugin",
-                new PluginUpgradeInfo(DEFAULT_MAVEN_PLUGIN_GROUP_ID, 
"maven-enforcer-plugin", "3.0.0"));
+                new PluginUpgradeInfo(DEFAULT_MAVEN_PLUGIN_GROUP_ID, 
"maven-enforcer-plugin", "3.5.2"));
         upgrades.put(
                 "org.codehaus.mojo:flatten-maven-plugin",
                 new PluginUpgradeInfo("org.codehaus.mojo", 
"flatten-maven-plugin", "1.2.7"));
@@ -272,6 +285,12 @@ private Map<String, PluginUpgradeInfo> 
getPluginUpgradesMap() {
         upgrades.put(
                 DEFAULT_MAVEN_PLUGIN_GROUP_ID + 
":maven-surefire-report-plugin",
                 new PluginUpgradeInfo(DEFAULT_MAVEN_PLUGIN_GROUP_ID, 
"maven-surefire-report-plugin", "3.5.2"));
+        upgrades.put(
+                "net.alchim31.maven:scala-maven-plugin",
+                new PluginUpgradeInfo("net.alchim31.maven", 
"scala-maven-plugin", "4.9.2"));
+        upgrades.put(
+                DEFAULT_MAVEN_PLUGIN_GROUP_ID + ":maven-resources-plugin",
+                new PluginUpgradeInfo(DEFAULT_MAVEN_PLUGIN_GROUP_ID, 
"maven-resources-plugin", "3.3.1"));
         return upgrades;
     }
 
diff --git 
a/impl/maven-cli/src/test/java/org/apache/maven/cling/invoker/mvnup/goals/PluginUpgradeStrategyTest.java
 
b/impl/maven-cli/src/test/java/org/apache/maven/cling/invoker/mvnup/goals/PluginUpgradeStrategyTest.java
index 657994d9a1..0710ee8000 100644
--- 
a/impl/maven-cli/src/test/java/org/apache/maven/cling/invoker/mvnup/goals/PluginUpgradeStrategyTest.java
+++ 
b/impl/maven-cli/src/test/java/org/apache/maven/cling/invoker/mvnup/goals/PluginUpgradeStrategyTest.java
@@ -216,14 +216,14 @@ void shouldUpgradeMilestoneVersionBelowRelease() throws 
Exception {
             UpgradeResult result = strategy.doApply(context, pomMap);
 
             assertTrue(result.success(), "Plugin upgrade should succeed");
-            assertTrue(result.modifiedCount() > 0, "Should have upgraded 
3.0.0-M1 to 3.0.0");
+            assertTrue(result.modifiedCount() > 0, "Should have upgraded 
3.0.0-M1 to 3.5.2");
 
             Editor editor = new Editor(document);
             Element root = editor.root();
             String version = root.path("build", "plugins", "plugin", "version")
                     .map(Element::textContentTrimmed)
                     .orElse(null);
-            assertEquals("3.0.0", version, "3.0.0-M1 should be upgraded to 
3.0.0");
+            assertEquals("3.5.2", version, "3.0.0-M1 should be upgraded to 
3.5.2");
         }
 
         @Test
@@ -265,7 +265,7 @@ void shouldUpgradePluginInPluginManagement() throws 
Exception {
             String version = root.path("build", "pluginManagement", "plugins", 
"plugin", "version")
                     .map(Element::textContentTrimmed)
                     .orElse(null);
-            assertEquals("3.0.0", version);
+            assertEquals("3.5.2", version);
         }
 
         @Test

Reply via email to