You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2018/02/10 16:02:59 UTC

[maven-release] 11/21: Move several SCM property setters to plugin goal

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

rfscholte pushed a commit to branch MRELEASE-998
in repository https://gitbox.apache.org/repos/asf/maven-release.git

commit 731c8aa2bcae06e040f1ab028651be868ef7068b
Author: rfscholte <rf...@apache.org>
AuthorDate: Fri Feb 2 13:08:01 2018 +0100

    Move several SCM property setters to plugin goal
---
 .../config/PropertiesReleaseDescriptorStore.java   |  6 -----
 .../release/config/ReleaseDescriptorBuilder.java   | 11 +++-----
 .../maven/shared/release/phase/CheckPomPhase.java  | 19 +------------
 .../shared/release/phase/CheckPomPhaseTest.java    | 31 +++++++++-------------
 .../plugins/release/AbstractScmReleaseMojo.java    | 15 +++++++++++
 5 files changed, 32 insertions(+), 50 deletions(-)

diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
index 86e3fa6..ebf990b 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
@@ -104,12 +104,6 @@ public class PropertiesReleaseDescriptorStore
         
         ReleaseUtils.copyPropertiesToReleaseDescriptor( properties, builder );
 
-//        ReleaseDescriptorBuilder releaseDescriptor = builder;
-//        if ( mergeDescriptor != null )
-//        {
-//            releaseDescriptor = ReleaseUtils.merge( builder, mergeDescriptor.build() );
-//        }
-
         return builder;
     }
 
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java
index 86ce491..f1a0f98 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java
@@ -36,12 +36,11 @@ public class ReleaseDescriptorBuilder
      * @author Robert Scholte
      *
      */
-    private static final class BuilderReleaseDescriptor extends ReleaseDescriptor implements ReleaseDescriptorNew
+    static final class BuilderReleaseDescriptor extends ReleaseDescriptor implements ReleaseDescriptorNew
     {
         @Override
         public void putDependencyReleaseVersion( String artifactKey, String version )
         {
-            
         }
 
         @Override
@@ -54,15 +53,13 @@ public class ReleaseDescriptorBuilder
         @Override
         public void putProjectReleaseVersion( String projectId, String nextVersion )
         {
-            // TODO Auto-generated method stub
-            
+            addReleaseVersion( projectId, nextVersion );
         }
 
         @Override
         public void putProjectDevelopmentVersion( String projectId, String nextVersion )
         {
-            // TODO Auto-generated method stub
-            
+            addDevelopmentVersion( projectId, nextVersion );
         }
     }
     
@@ -396,7 +393,7 @@ public class ReleaseDescriptorBuilder
         releaseDescriptor.addOriginalVersion( projectKey, version );
     }
 
-    ReleaseDescriptor build()
+    BuilderReleaseDescriptor build()
     {
         return releaseDescriptor;
     }
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckPomPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckPomPhase.java
index b5066d2..128721f 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckPomPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckPomPhase.java
@@ -30,7 +30,6 @@ import org.apache.maven.shared.release.config.ReleaseDescriptor;
 import org.apache.maven.shared.release.env.ReleaseEnvironment;
 import org.apache.maven.shared.release.scm.ReleaseScmRepositoryException;
 import org.apache.maven.shared.release.scm.ScmRepositoryConfigurator;
-import org.apache.maven.shared.release.util.ReleaseUtil;
 import org.codehaus.plexus.util.StringUtils;
 
 import java.util.List;
@@ -64,30 +63,14 @@ public class CheckPomPhase
         ReleaseResult result = new ReleaseResult();
 
         // Currently, we don't deal with multiple SCM locations in a multiproject
-        if ( scmRequired && StringUtils.isEmpty( releaseDescriptor.getScmSourceUrl() ) )
+        if ( scmRequired )
         {
-            MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
-            if ( rootProject != null && rootProject.getScm() != null )
-            {
-                if ( rootProject.getScm().getDeveloperConnection() != null )
-                {
-                    releaseDescriptor.setScmSourceUrl( rootProject.getScm().getDeveloperConnection() );
-                }
-                else if ( rootProject.getScm().getConnection() != null )
-                {
-                    releaseDescriptor.setScmSourceUrl( rootProject.getScm().getConnection() );
-                }
-            }
-
             if ( StringUtils.isEmpty( releaseDescriptor.getScmSourceUrl() ) )
             {
                 throw new ReleaseFailureException(
                     "Missing required setting: scm connection or developerConnection must be specified." );
             }
 
-            // As long as Scm.getId() does not exist, read it as a property
-            releaseDescriptor.setScmId( rootProject.getProperties().getProperty( "project.scm.id" ) );
-
             try
             {
                 scmRepositoryConfigurator.getConfiguredRepository( releaseDescriptor,
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckPomPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckPomPhaseTest.java
index 78382c8..84e78d7 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckPomPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckPomPhaseTest.java
@@ -54,7 +54,7 @@ public class CheckPomPhaseTest
         throws Exception
     {
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
-        builder.setScmSourceUrl( "scm-url" );
+        builder.setScmSourceUrl( "scm:svn:file://localhost/tmp/repo" );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), Collections.singletonList( createProject( "1.0-SNAPSHOT" ) ) );
 
@@ -68,10 +68,9 @@ public class CheckPomPhaseTest
         throws Exception
     {
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+        builder.setScmSourceUrl( "scm:svn:file://localhost/tmp/repo" );
+
         MavenProject project = createProject( "1.0-SNAPSHOT" );
-        Scm scm = new Scm();
-        scm.setConnection( "scm:svn:file://localhost/tmp/repo" );
-        project.setScm( scm );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), Collections.singletonList( project ) );
 
@@ -82,10 +81,9 @@ public class CheckPomPhaseTest
         throws Exception
     {
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+        builder.setScmSourceUrl( "scm:svn:file://localhost/tmp/repo" );
+
         MavenProject project = createProject( "1.0-SNAPSHOT" );
-        Scm scm = new Scm();
-        scm.setConnection( "scm:svn:file://localhost/tmp/repo" );
-        project.setScm( scm );
 
         phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), Collections.singletonList( project ) );
 
@@ -96,11 +94,9 @@ public class CheckPomPhaseTest
         throws Exception
     {
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+        builder.setScmSourceUrl( "scm:svn:https://localhost/tmp/repo" );
+        
         MavenProject project = createProject( "1.0-SNAPSHOT" );
-        Scm scm = new Scm();
-        scm.setConnection( "scm:svn:file://localhost/tmp/repo" );
-        scm.setDeveloperConnection( "scm:svn:https://localhost/tmp/repo" );
-        project.setScm( scm );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), Collections.singletonList( project ) );
 
@@ -111,11 +107,9 @@ public class CheckPomPhaseTest
         throws Exception
     {
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+        builder.setScmSourceUrl( "scm:svn:https://localhost/tmp/repo" );
+
         MavenProject project = createProject( "1.0-SNAPSHOT" );
-        Scm scm = new Scm();
-        scm.setConnection( "scm:svn:file://localhost/tmp/repo" );
-        scm.setDeveloperConnection( "scm:svn:https://localhost/tmp/repo" );
-        project.setScm( scm );
 
         phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), Collections.singletonList( project ) );
 
@@ -126,10 +120,9 @@ public class CheckPomPhaseTest
         throws Exception
     {
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+        builder.setScmSourceUrl( "scm:cvs:" );
+
         MavenProject project = createProject( "1.0-SNAPSHOT" );
-        Scm scm = new Scm();
-        scm.setConnection( "scm:cvs:" );
-        project.setScm( scm );
 
         try
         {
@@ -196,7 +189,7 @@ public class CheckPomPhaseTest
         throws Exception
     {
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
-        builder.setScmSourceUrl( "scm-url" );
+        builder.setScmSourceUrl( "scm:svn:file://localhost/tmp/repo" );
 
         try
         {
diff --git a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractScmReleaseMojo.java b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractScmReleaseMojo.java
index 2c3fbc4..5e2f47e 100644
--- a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractScmReleaseMojo.java
+++ b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractScmReleaseMojo.java
@@ -139,6 +139,21 @@ public abstract class AbstractScmReleaseMojo
         descriptor.setScmCommentPrefix( scmCommentPrefix );
 
         descriptor.setPushChanges( pushChanges );
+        
+        if ( project.getScm() != null )
+        {
+            if ( project.getScm().getDeveloperConnection() != null )
+            {
+                descriptor.setScmSourceUrl( project.getScm().getDeveloperConnection() );
+            }
+            else if ( project.getScm().getConnection() != null )
+            {
+                descriptor.setScmSourceUrl( project.getScm().getConnection() );
+            }
+        }
+        
+        // As long as Scm.getId() does not exist, read it as a property
+        descriptor.setScmId( project.getProperties().getProperty( "project.scm.id" ) );
 
         return descriptor;
     }

-- 
To stop receiving notification emails like this one, please contact
rfscholte@apache.org.