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