You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2026/05/20 14:31:51 UTC
(maven) branch maven-4.0.x updated: mvnup: upgrade enforcer plugin minimum and add new plugin upgrades (#12121)
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 <gn...@gmail.com>
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 <no...@anthropic.com>
---
.../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