Author: rfscholte
Date: Tue Oct 6 18:05:53 2015
New Revision: 1707111
URL: http://svn.apache.org/viewvc?rev=1707111&view=rev
Log:
[MRELEASE-921] perform goal doesn't support providerImplementation
Contributed by Georges-Etienne Legendre, reviewed and accepted by Robert Scholte
Modified:
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
maven/release/trunk/pom.xml
Modified:
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java?rev=1707111&r1=1707110&r2=1707111&view=diff
==============================================================================
---
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
(original)
+++
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
Tue Oct 6 18:05:53 2015
@@ -20,11 +20,14 @@ package org.apache.maven.plugins.release
*/
import java.io.File;
+import java.util.Map;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.scm.manager.ScmManager;
import org.apache.maven.shared.release.ReleaseExecutionException;
import org.apache.maven.shared.release.ReleaseFailureException;
import org.apache.maven.shared.release.ReleasePerformRequest;
@@ -113,6 +116,23 @@ public class PerformReleaseMojo
private boolean dryRun;
/**
+ * Add a new or overwrite the default implementation per provider.
+ * The key is the scm prefix and the value is the role hint of the
+ * {@link org.apache.maven.scm.provider.ScmProvider}.
+ *
+ * @since 2.5.3
+ * @see ScmManager#setScmProviderImplementation(String, String)
+ */
+ @Parameter
+ private Map<String, String> providerImplementations;
+
+ /**
+ * The SCM manager.
+ */
+ @Component
+ private ScmManager scmManager;
+
+ /**
* {@inheritDoc}
*/
protected String getAdditionalProfiles()
@@ -126,6 +146,16 @@ public class PerformReleaseMojo
public void execute()
throws MojoExecutionException, MojoFailureException
{
+ if ( providerImplementations != null )
+ {
+ for ( Map.Entry<String, String> providerEntry :
providerImplementations.entrySet() )
+ {
+ getLog().info( "Change the default '" + providerEntry.getKey()
+ "' provider implementation to '"
+ + providerEntry.getValue() + "'." );
+ scmManager.setScmProviderImplementation(
providerEntry.getKey(), providerEntry.getValue() );
+ }
+ }
+
// goals may be splitted into multiple line in configuration.
// Let's build a single line command
if ( goals != null )
Modified: maven/release/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/maven/release/trunk/pom.xml?rev=1707111&r1=1707110&r2=1707111&view=diff
==============================================================================
--- maven/release/trunk/pom.xml (original)
+++ maven/release/trunk/pom.xml Tue Oct 6 18:05:53 2015
@@ -76,6 +76,9 @@
<contributor>
<name>Russ Kociuba</name>
</contributor>
+ <contributor>
+ <name>Georges-Etienne Legendre</name>
+ </contributor>
</contributors>
<properties>