You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/07/30 22:01:52 UTC
[maven-release] 01/01: Simplify PerformReleaseMojo
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch simplify-PerformReleaseMojo
in repository https://gitbox.apache.org/repos/asf/maven-release.git
commit 97efae5f3f95c5864d6d758785e854dd35da4938
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sun Jul 31 00:01:40 2022 +0200
Simplify PerformReleaseMojo
---
.../maven/plugins/release/PerformReleaseMojo.java | 54 +---------------------
.../stubs/FlatMultiModuleMavenProjectStub.java | 31 +++++++++----
2 files changed, 23 insertions(+), 62 deletions(-)
diff --git a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
index 7994e2a6..f7d7bc2b 100644
--- a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
+++ b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
@@ -20,14 +20,11 @@ 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.DefaultReleaseManagerListener;
import org.apache.maven.shared.release.ReleaseExecutionException;
import org.apache.maven.shared.release.ReleaseFailureException;
@@ -46,7 +43,7 @@ import org.codehaus.plexus.util.StringUtils;
*/
@Mojo( name = "perform", aggregator = true, requiresProject = false )
public class PerformReleaseMojo
- extends AbstractReleaseMojo
+ extends AbstractScmReleaseMojo
{
/**
* A space separated list of goals to execute on release perform. Default value is either <code>deploy</code> or
@@ -88,18 +85,6 @@ public class PerformReleaseMojo
@Parameter( defaultValue = "false", property = "localCheckout" )
private boolean localCheckout;
- /**
- * The SCM username to use.
- */
- @Parameter( property = "username" )
- private String username;
-
- /**
- * The SCM password to use.
- */
- @Parameter( property = "password" )
- private String password;
-
/**
* When cloning a repository if it should be a shallow clone or a full clone.
*/
@@ -125,23 +110,6 @@ public class PerformReleaseMojo
@Parameter( defaultValue = "false", property = "dryRun" )
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;
-
@Override
protected String getAdditionalProfiles()
{
@@ -152,15 +120,7 @@ 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() );
- }
- }
+ super.execute();
// goals may be splitted into multiple line in configuration.
// Let's build a single line command
@@ -179,16 +139,6 @@ public class PerformReleaseMojo
releaseDescriptor.setScmSourceUrl( connectionUrl );
}
- if ( username != null )
- {
- releaseDescriptor.setScmUsername( username );
- }
-
- if ( password != null )
- {
- releaseDescriptor.setScmPassword( password );
- }
-
releaseDescriptor.setScmShallowClone( scmShallowClone );
releaseDescriptor.setLocalCheckout( localCheckout );
diff --git a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/stubs/FlatMultiModuleMavenProjectStub.java b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/stubs/FlatMultiModuleMavenProjectStub.java
index 44ff4686..82ef5c1a 100644
--- a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/stubs/FlatMultiModuleMavenProjectStub.java
+++ b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/stubs/FlatMultiModuleMavenProjectStub.java
@@ -29,7 +29,7 @@ import org.apache.maven.model.Scm;
/**
* <p>Stub for a MavenProject with a flat structure.</p>
- *
+ *
* <p>TODO: shouldn't need to do this, but the "stub" in the harness just throws away values you set.
* Just overriding the ones I need for this plugin.</p>
*
@@ -40,7 +40,7 @@ import org.apache.maven.model.Scm;
*/
public class FlatMultiModuleMavenProjectStub
extends org.apache.maven.plugin.testing.stubs.MavenProjectStub
-{
+{
public void setDistributionManagement( DistributionManagement distributionManagement )
{
getModel().setDistributionManagement( distributionManagement );
@@ -57,46 +57,57 @@ public class FlatMultiModuleMavenProjectStub
return model;
}
+ @Override
+ public Model getOriginalModel() {
+ Model originalModel = super.getOriginalModel();
+ if ( originalModel == null )
+ {
+ originalModel = new Model();
+ setOriginalModel( originalModel );
+ }
+ return originalModel;
+ }
+
public DistributionManagement getDistributionManagement()
{
return getModel().getDistributionManagement();
}
-
+
public List<String> getModules()
{
List<String> modules = new ArrayList<String>();
modules.add( "../core" );
modules.add( "../webapp" );
modules.add( "../commons" );
-
+
return modules;
}
-
+
public File getBasedir()
{
return new File( "/flat-multi-module/root-project" ).getAbsoluteFile();
}
-
+
public Scm getScm()
{
Scm scm = new Scm();
scm.setConnection( "scm:svn:file://localhost/target/svnroot/flat-multi-module/trunk/root-project" );
-
+
return scm;
}
-
+
@Override
public String getGroupId()
{
return "GROUPID";
}
-
+
@Override
public String getArtifactId()
{
return "ARTIFACTID";
}
-
+
@Override
public String getVersion()
{