[MRELEASE-1123] Fix for Maven 4 compatibility
diff --git a/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java b/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java
index ed653c7..976a0f5 100644
--- a/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java
+++ b/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java
@@ -426,7 +426,7 @@
/**
* Get the (optional) config for the VersionPolicy implementation used to calculate the project versions.
*
- * @return The parsed XML of the provided config (an instance of XmlPlexusConfiguration) or null.
+ * @return The parsed XML of the provided config (an instance of PlexusConfiguration) or null.
*/
Object getProjectVersionPolicyConfig();
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhase.java
index af4dd46..1261b25 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhase.java
@@ -543,9 +543,10 @@
}
releasePlugin.setExecutions(plugin.getExecutions());
releasePlugin.setDependencies(plugin.getDependencies());
- releasePlugin.setGoals(plugin.getGoals());
releasePlugin.setInherited(plugin.getInherited());
- releasePlugin.setConfiguration(plugin.getConfiguration());
+ if (plugin.getConfiguration() != null) {
+ releasePlugin.setConfiguration(plugin.getConfiguration());
+ }
releasePlugins.add(releasePlugin);
}
diff --git a/maven-release-plugin/pom.xml b/maven-release-plugin/pom.xml
index 7fa64ef..3cda4db 100644
--- a/maven-release-plugin/pom.xml
+++ b/maven-release-plugin/pom.xml
@@ -209,6 +209,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
+ <version>3.5.1</version>
<configuration>
<projectsDirectory>src/it</projectsDirectory>
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
diff --git a/maven-release-plugin/src/it/projects/branch/MRELEASE-458/pom.xml b/maven-release-plugin/src/it/projects/branch/MRELEASE-458/pom.xml
index 1dbd1b2..c3573b4 100644
--- a/maven-release-plugin/src/it/projects/branch/MRELEASE-458/pom.xml
+++ b/maven-release-plugin/src/it/projects/branch/MRELEASE-458/pom.xml
@@ -61,6 +61,7 @@
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
+ <version>@project.version@</version>
<configuration>
<updateWorkingCopyVersions>false</updateWorkingCopyVersions>
<updateBranchVersions>true</updateBranchVersions>
diff --git a/maven-release-plugin/src/it/projects/branch/MRELEASE-694/verify.groovy b/maven-release-plugin/src/it/projects/branch/MRELEASE-694/verify.groovy
index 8d7f901..663166f 100644
--- a/maven-release-plugin/src/it/projects/branch/MRELEASE-694/verify.groovy
+++ b/maven-release-plugin/src/it/projects/branch/MRELEASE-694/verify.groovy
@@ -18,6 +18,8 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
def projectBranch = new XmlSlurper().parse( new File( basedir, "pom.xml.branch" ) )
assert projectBranch.version.text() == "2.6.0-BRANCH-SNAPSHOT"
diff --git a/maven-release-plugin/src/it/projects/branch/MRELEASE-745/pom.xml b/maven-release-plugin/src/it/projects/branch/MRELEASE-745/pom.xml
index 4fe5757..c0fb1e5 100644
--- a/maven-release-plugin/src/it/projects/branch/MRELEASE-745/pom.xml
+++ b/maven-release-plugin/src/it/projects/branch/MRELEASE-745/pom.xml
@@ -31,6 +31,8 @@
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
+ <!-- TODO fix test with current version -->
+ <version>2.5.3</version>
<configuration>
<suppressCommitBeforeBranch>true</suppressCommitBeforeBranch>
<branchName>branch-mrelease-745</branchName>
diff --git a/maven-release-plugin/src/it/projects/branch/MRELEASE-976/verify.groovy b/maven-release-plugin/src/it/projects/branch/MRELEASE-976/verify.groovy
index 04ff692..b7de67c 100644
--- a/maven-release-plugin/src/it/projects/branch/MRELEASE-976/verify.groovy
+++ b/maven-release-plugin/src/it/projects/branch/MRELEASE-976/verify.groovy
@@ -18,6 +18,8 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
def project = new XmlSlurper().parse( new File( basedir, "pom.xml" ) )
assert project.version.text() == "1.0-SNAPSHOT"
diff --git a/maven-release-plugin/src/it/projects/perform/MRELEASE-592/pom.xml b/maven-release-plugin/src/it/projects/perform/MRELEASE-592/pom.xml
index 77e304e..32c47aa 100644
--- a/maven-release-plugin/src/it/projects/perform/MRELEASE-592/pom.xml
+++ b/maven-release-plugin/src/it/projects/perform/MRELEASE-592/pom.xml
@@ -66,7 +66,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
- <version>1.1.1</version>
+ <version>@mavenEnforcerPluginVersion@</version>
<executions>
<execution>
<id>enforce</id>
@@ -94,7 +94,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
- <version>1.1.1</version>
+ <version>@mavenEnforcerPluginVersion@</version>
<executions>
<execution>
<id>enforce</id>
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-1053/verify.groovy b/maven-release-plugin/src/it/projects/prepare/MRELEASE-1053/verify.groovy
index f496ed4..e12d0e5 100644
--- a/maven-release-plugin/src/it/projects/prepare/MRELEASE-1053/verify.groovy
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-1053/verify.groovy
@@ -17,6 +17,8 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
// check parent project
def project = new XmlSlurper().parse( new File( new File ( basedir, 'module-parent' ), 'pom.xml.next' ) )
assert project.version.text() == '1.1-SNAPSHOT'
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-1077/pom.xml b/maven-release-plugin/src/it/projects/prepare/MRELEASE-1077/pom.xml
index 807c401..478902f 100644
--- a/maven-release-plugin/src/it/projects/prepare/MRELEASE-1077/pom.xml
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-1077/pom.xml
@@ -51,7 +51,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-help-plugin</artifactId>
- <version>3.3.0</version>
+ <version>@mavenHelpPluginVersion@</version>
<executions>
<execution>
<id>Show profiles</id>
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-1077/verify.groovy b/maven-release-plugin/src/it/projects/prepare/MRELEASE-1077/verify.groovy
index a0e52dc..563380f 100644
--- a/maven-release-plugin/src/it/projects/prepare/MRELEASE-1077/verify.groovy
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-1077/verify.groovy
@@ -20,5 +20,5 @@
File buildLog = new File( basedir, 'build.log' )
assert buildLog.exists()
-assert buildLog.text.contains( "[INFO] - PrepProfA (source: org.apache.maven.plugin.release.its:mrelease-1077:1.0-SNAPSHOT)")
-assert buildLog.text.contains( "[INFO] - PrepProfB (source: org.apache.maven.plugin.release.its:mrelease-1077:1.0-SNAPSHOT)")
+assert buildLog.text.contains( "[INFO] - PrepProfA (source: ")
+assert buildLog.text.contains( "[INFO] - PrepProfB (source: ")
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-161-dependencyManagement/verify.groovy b/maven-release-plugin/src/it/projects/prepare/MRELEASE-161-dependencyManagement/verify.groovy
index ec40713..f978353 100644
--- a/maven-release-plugin/src/it/projects/prepare/MRELEASE-161-dependencyManagement/verify.groovy
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-161-dependencyManagement/verify.groovy
@@ -18,6 +18,9 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
+
File buildLog = new File( basedir, 'build.log' )
assert buildLog.exists()
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-161/verify.groovy b/maven-release-plugin/src/it/projects/prepare/MRELEASE-161/verify.groovy
index 3718c54..1370709 100644
--- a/maven-release-plugin/src/it/projects/prepare/MRELEASE-161/verify.groovy
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-161/verify.groovy
@@ -18,6 +18,8 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
File buildLog = new File( basedir, 'build.log' )
assert buildLog.exists()
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-571_M3/module1/pom.xml b/maven-release-plugin/src/it/projects/prepare/MRELEASE-571_M3/module1/pom.xml
index 902a69a..2d41bea 100644
--- a/maven-release-plugin/src/it/projects/prepare/MRELEASE-571_M3/module1/pom.xml
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-571_M3/module1/pom.xml
@@ -40,7 +40,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0.1</version>
+ <version>@mavenEnforcerPluginVersion@</version>
<executions>
<execution>
<goals>
@@ -64,7 +64,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0.1</version>
+ <version>@mavenEnforcerPluginVersion@</version>
<executions>
<execution>
<goals>
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-667/pom.xml b/maven-release-plugin/src/it/projects/prepare/MRELEASE-667/pom.xml
index 216c555..205860a 100644
--- a/maven-release-plugin/src/it/projects/prepare/MRELEASE-667/pom.xml
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-667/pom.xml
@@ -37,14 +37,14 @@
</dependency>
</dependencies>
<configuration>
- <arguments>-Prelease,!mrelease-677 ${arguments}</arguments>
+ <arguments>-P!mrelease-677 ${arguments}</arguments>
<preparationGoals>help:all-profiles</preparationGoals>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-help-plugin</artifactId>
- <version>2.1.1</version>
+ <version>@mavenHelpPluginVersion@</version>
</plugin>
</plugins>
</build>
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-667/verify.groovy b/maven-release-plugin/src/it/projects/prepare/MRELEASE-667/verify.groovy
index bd42e6d..215d58e 100644
--- a/maven-release-plugin/src/it/projects/prepare/MRELEASE-667/verify.groovy
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-667/verify.groovy
@@ -24,5 +24,5 @@
// Can only be checked with M3
//assert 1 == buildLog.getText().count("[DEBUG] Profile with id: 'mrelease-677' has been explicitly activated.")
-assert 1 == buildLog.getText().count(" Profile Id: mrelease-677 (Active: false , Source: settings.xml)")
+assert 1 == buildLog.getText().count(" Profile Id: mrelease-677 (Active: false, Source: settings.xml)")
assert buildLog.getText().contains("[WARNING] arguments parameter contains unresolved property: '\${arguments}'")
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-976/verify.groovy b/maven-release-plugin/src/it/projects/prepare/MRELEASE-976/verify.groovy
index 1a94757..bd1a9e4 100644
--- a/maven-release-plugin/src/it/projects/prepare/MRELEASE-976/verify.groovy
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-976/verify.groovy
@@ -18,6 +18,8 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
def project = new XmlSlurper().parse( new File( basedir, "pom.xml" ) )
assert project.version.text() == "1.0-SNAPSHOT"
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-985/verify.groovy b/maven-release-plugin/src/it/projects/prepare/MRELEASE-985/verify.groovy
index 4e05fc8..bbd0de7 100644
--- a/maven-release-plugin/src/it/projects/prepare/MRELEASE-985/verify.groovy
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-985/verify.groovy
@@ -18,6 +18,8 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
def project = new XmlSlurper().parse( new File( basedir, "pom.xml" ) )
assert project.version.text() == "1.0-SNAPSHOT"
assert project.parent.version.text() == "1-SNAPSHOT"
diff --git a/maven-release-plugin/src/it/projects/prepare/namespace/verify.groovy b/maven-release-plugin/src/it/projects/prepare/namespace/verify.groovy
index da22596..b7aff06 100644
--- a/maven-release-plugin/src/it/projects/prepare/namespace/verify.groovy
+++ b/maven-release-plugin/src/it/projects/prepare/namespace/verify.groovy
@@ -17,6 +17,8 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
def project = new XmlSlurper().parse( new File( basedir, "pom.xml" ) )
assert project['@xsi:schemaLocation'] == "http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd"
diff --git a/maven-release-plugin/src/it/projects/prepare/version-policy/verify.groovy b/maven-release-plugin/src/it/projects/prepare/version-policy/verify.groovy
index 9426c2a..f80703a 100644
--- a/maven-release-plugin/src/it/projects/prepare/version-policy/verify.groovy
+++ b/maven-release-plugin/src/it/projects/prepare/version-policy/verify.groovy
@@ -17,6 +17,8 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
File buildLog = new File( basedir, 'build.log' )
assert buildLog.exists()
diff --git a/maven-release-plugin/src/it/projects/update-versions/MRELEASE-555/verify.groovy b/maven-release-plugin/src/it/projects/update-versions/MRELEASE-555/verify.groovy
index e1d9303..e1a034c 100644
--- a/maven-release-plugin/src/it/projects/update-versions/MRELEASE-555/verify.groovy
+++ b/maven-release-plugin/src/it/projects/update-versions/MRELEASE-555/verify.groovy
@@ -18,6 +18,8 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
File buildLog = new File( basedir, 'build.log' )
assert buildLog.exists()
diff --git a/maven-release-plugin/src/it/projects/update-versions/MRELEASE-611/verify.groovy b/maven-release-plugin/src/it/projects/update-versions/MRELEASE-611/verify.groovy
index 369c625..46b1bd0 100644
--- a/maven-release-plugin/src/it/projects/update-versions/MRELEASE-611/verify.groovy
+++ b/maven-release-plugin/src/it/projects/update-versions/MRELEASE-611/verify.groovy
@@ -18,6 +18,8 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
File buildLog = new File( basedir, 'build.log' )
assert buildLog.exists()
diff --git a/maven-release-plugin/src/it/projects/update-versions/MRELEASE-976/verify.groovy b/maven-release-plugin/src/it/projects/update-versions/MRELEASE-976/verify.groovy
index 350012e..7691e43 100644
--- a/maven-release-plugin/src/it/projects/update-versions/MRELEASE-976/verify.groovy
+++ b/maven-release-plugin/src/it/projects/update-versions/MRELEASE-976/verify.groovy
@@ -18,6 +18,8 @@
* under the License.
*/
+import groovy.xml.XmlSlurper
+
// verifies that the version is unchanged because of the custom policy: 1.0-SNAPSHOT -> 1.0 -> 1.0-SNAPSHOT
def project = new XmlSlurper().parse( new File( basedir, "pom.xml" ) )
assert project.version.text() == "1.0-SNAPSHOT"
diff --git a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java
index b9d5062..db314c4 100644
--- a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java
+++ b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java
@@ -29,7 +29,7 @@
import org.apache.maven.shared.release.ReleaseExecutionException;
import org.apache.maven.shared.release.ReleaseFailureException;
import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder;
-import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
/**
* Branch a project in SCM, using the same steps as the <code>release:prepare</code> goal, creating a branch instead of
@@ -204,7 +204,7 @@
* @since 3.0.0
*/
@Parameter(property = "projectVersionPolicyConfig")
- private XmlPlexusConfiguration projectVersionPolicyConfig;
+ private PlexusConfiguration projectVersionPolicyConfig;
/**
* The role-hint for the {@link org.apache.maven.shared.release.policy.naming.NamingPolicy}
diff --git a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
index 6c6253a..6647157 100644
--- a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
+++ b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
@@ -33,7 +33,7 @@
import org.apache.maven.shared.release.ReleaseFailureException;
import org.apache.maven.shared.release.ReleasePrepareRequest;
import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder;
-import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
/**
* Prepare for a release in SCM. Steps through several phases to ensure the POM is ready to be released and then
@@ -251,7 +251,7 @@
* @since 3.0.0
*/
@Parameter(property = "projectVersionPolicyConfig")
- private XmlPlexusConfiguration projectVersionPolicyConfig;
+ private PlexusConfiguration projectVersionPolicyConfig;
/**
* The role-hint for the {@link org.apache.maven.shared.release.policy.naming.NamingPolicy}
diff --git a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/UpdateVersionsMojo.java b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/UpdateVersionsMojo.java
index 253cf1b..caf9acd 100644
--- a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/UpdateVersionsMojo.java
+++ b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/UpdateVersionsMojo.java
@@ -28,7 +28,7 @@
import org.apache.maven.shared.release.ReleaseFailureException;
import org.apache.maven.shared.release.ReleaseUpdateVersionsRequest;
import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder;
-import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
/**
* Update the POM versions for a project. This performs the normal version updates of the <code>release:prepare</code>
@@ -97,7 +97,7 @@
* @since 3.0.0
*/
@Parameter(property = "projectVersionPolicyConfig")
- private XmlPlexusConfiguration projectVersionPolicyConfig;
+ private PlexusConfiguration projectVersionPolicyConfig;
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
diff --git a/pom.xml b/pom.xml
index 337a194..b7b45a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -102,6 +102,8 @@
<mavenCompilerPluginVersion>3.11.0</mavenCompilerPluginVersion>
<mavenInvokerPluginVersion>3.5.0</mavenInvokerPluginVersion>
+ <mavenEnforcerPluginVersion>3.3.0</mavenEnforcerPluginVersion>
+ <mavenHelpPluginVersion>3.4.0</mavenHelpPluginVersion>
</properties>
<dependencyManagement>