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:51 UTC

[maven-release] branch simplify-PerformReleaseMojo created (now 97efae5f)

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a change to branch simplify-PerformReleaseMojo
in repository https://gitbox.apache.org/repos/asf/maven-release.git


      at 97efae5f Simplify PerformReleaseMojo

This branch includes the following new commits:

     new 97efae5f Simplify PerformReleaseMojo

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-release] 01/01: Simplify PerformReleaseMojo

Posted by mi...@apache.org.
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()
     {