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 de559729ae4b22f7a6ab29f42ab7e81d6ebe2958 Author: rfscholte <rfscho...@apache.org> AuthorDate: Fri Feb 2 15:03:12 2018 +0100 Move adding originalScm to plugin, should not be decided during a pahse --- .../release/config/ReleaseDescriptorBuilder.java | 18 ++++-------- .../release/phase/AbstractRewritePomsPhase.java | 21 ------------- .../release/phase/RewritePomsForBranchPhase.java | 5 ---- .../release/phase/RewritePomsForReleasePhase.java | 5 ---- .../AbstractRewritingReleasePhaseTestCase.java | 10 +++++-- .../phase/RewritePomsForBranchPhaseTest.java | 1 + .../phase/RewritePomsForDevelopmentPhaseTest.java | 8 ++++- .../it/projects/prepare/MRELEASE-420/verify.groovy | 1 - .../plugins/release/AbstractScmReleaseMojo.java | 32 ++++++++++++++++++++ .../plugins/release/PrepareReleaseMojoTest.java | 34 ++++++++++++++++++---- 10 files changed, 81 insertions(+), 54 deletions(-) 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 f1a0f98..98b602a 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 @@ -38,29 +38,21 @@ public class ReleaseDescriptorBuilder */ static final class BuilderReleaseDescriptor extends ReleaseDescriptor implements ReleaseDescriptorNew { - @Override - public void putDependencyReleaseVersion( String artifactKey, String version ) - { - } @Override - public void putDependencyDevelopmentVersion( String artifactKey, String version ) + public void addDependencyReleaseVersion( String artifactKey, String version ) { // TODO Auto-generated method stub } @Override - public void putProjectReleaseVersion( String projectId, String nextVersion ) + public void addDependencyDevelopmentVersion( String artifactKey, String version ) { - addReleaseVersion( projectId, nextVersion ); - } - - @Override - public void putProjectDevelopmentVersion( String projectId, String nextVersion ) - { - addDevelopmentVersion( projectId, nextVersion ); + // TODO Auto-generated method stub + } + } private final BuilderReleaseDescriptor releaseDescriptor; diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java index d7414fb..ac6a682 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java @@ -35,7 +35,6 @@ import org.apache.maven.model.Model; import org.apache.maven.model.ModelBase; import org.apache.maven.model.Plugin; import org.apache.maven.model.Profile; -import org.apache.maven.model.Scm; import org.apache.maven.project.MavenProject; import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; @@ -49,7 +48,6 @@ import org.apache.maven.shared.release.ReleaseFailureException; import org.apache.maven.shared.release.ReleaseResult; import org.apache.maven.shared.release.config.ReleaseDescriptor; import org.apache.maven.shared.release.env.ReleaseEnvironment; -import org.apache.maven.shared.release.scm.IdentifiedScm; import org.apache.maven.shared.release.scm.ReleaseScmCommandException; import org.apache.maven.shared.release.scm.ReleaseScmRepositoryException; import org.apache.maven.shared.release.scm.ScmRepositoryConfigurator; @@ -589,25 +587,6 @@ public abstract class AbstractRewritePomsPhase return releaseDescriptor.getDependencyOriginalVersion( artifactVersionlessKey ); } - protected Scm buildScm( MavenProject project ) - { - IdentifiedScm scm; - if ( project.getOriginalModel().getScm() == null ) - { - scm = null; - } - else - { - scm = new IdentifiedScm(); - scm.setConnection( project.getOriginalModel().getScm().getConnection() ); - scm.setDeveloperConnection( project.getOriginalModel().getScm().getDeveloperConnection() ); - scm.setTag( project.getOriginalModel().getScm().getTag() ); - scm.setUrl( project.getOriginalModel().getScm().getUrl() ); - scm.setId( project.getProperties().getProperty( "project.scm.id" ) ); - } - return scm; - } - /** * Determines the relative path from trunk to tag, and adds this relative path * to the url. diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java index 371383e..d58d911 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java @@ -62,9 +62,6 @@ public class RewritePomsForBranchPhase if ( scmRoot != null ) { - Scm scm = buildScm( project ); - releaseDescriptor.addOriginalScmInfo( projectId, scm ); - try { translateScm( project, releaseDescriptor, scmRoot, scmRepository, result, commonBasedir ); @@ -76,8 +73,6 @@ public class RewritePomsForBranchPhase } else { - releaseDescriptor.addOriginalScmInfo( projectId, null ); - MavenProject parent = project.getParent(); if ( parent != null ) { diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java index d4a7725..bcf2254 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java @@ -60,9 +60,6 @@ public class RewritePomsForReleasePhase Scm scmRoot = modelTarget.getScm(); if ( scmRoot != null ) { - Scm scm = buildScm( project ); - releaseDescriptor.addOriginalScmInfo( projectId, scm ); - try { translateScm( project, releaseDescriptor, scmRoot, scmRepository, result, commonBasedir ); @@ -74,8 +71,6 @@ public class RewritePomsForReleasePhase } else { - releaseDescriptor.addOriginalScmInfo( projectId, null ); - MavenProject parent = project.getParent(); if ( parent != null ) { diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java index 397a25e..427371c 100644 --- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java +++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java @@ -745,12 +745,18 @@ public abstract class AbstractRewritingReleasePhaseTestCase protected ReleaseDescriptorBuilder createDescriptorFromProjects( List<MavenProject> reactorProjects ) { - ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder(); + return createDescriptorFromProjects( new ReleaseDescriptorBuilder(), reactorProjects ); + } + + protected ReleaseDescriptorBuilder createDescriptorFromProjects( ReleaseDescriptorBuilder builder, List<MavenProject> reactorProjects ) + { MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects ); for ( MavenProject project : reactorProjects ) { - builder.putOriginalVersion( project.getGroupId() + ':' + project.getArtifactId(), project.getVersion() ); + String key = project.getGroupId() + ':' + project.getArtifactId(); + builder.putOriginalVersion( key, project.getVersion() ); + builder.addOriginalScmInfo( key, project.getScm() ); } if ( rootProject.getScm() == null ) diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhaseTest.java index 378509e..6eb74b2 100644 --- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhaseTest.java +++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhaseTest.java @@ -28,6 +28,7 @@ import java.io.IOException; import java.util.List; import java.util.Objects; +import org.apache.maven.artifact.ArtifactUtils; import org.apache.maven.project.MavenProject; import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder; import org.apache.maven.shared.release.config.ReleaseUtils; diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhaseTest.java index 00ff534..0f3045d 100644 --- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhaseTest.java +++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhaseTest.java @@ -161,7 +161,13 @@ public class RewritePomsForDevelopmentPhaseTest { List<MavenProject> reactorProjects = prepareReactorProjects( "basic-pom", true ); - ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects ); + ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder() { + public ReleaseDescriptorBuilder addOriginalScmInfo(String key, Scm value) { + // do nothing + return this; + }; + }; + builder = createDescriptorFromProjects( builder, reactorProjects ); mapNextVersion( builder, "groupId:artifactId" ); diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-420/verify.groovy b/maven-release-plugin/src/it/projects/prepare/MRELEASE-420/verify.groovy index bc7b56b..a41f9c3 100644 --- a/maven-release-plugin/src/it/projects/prepare/MRELEASE-420/verify.groovy +++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-420/verify.groovy @@ -22,4 +22,3 @@ File releaseProperties = new File( basedir, 'release.properties' ) assert releaseProperties.exists() assert 1 == releaseProperties.getText().count("scm.id=it-server") -assert 1 == releaseProperties.getText().count("project.scm.org.apache.maven.plugin.release.its\\:mrelease-420.id=it-server") 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 5e2f47e..d75064e 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 @@ -21,10 +21,13 @@ package org.apache.maven.plugins.release; import java.util.Map; +import org.apache.maven.artifact.ArtifactUtils; +import org.apache.maven.model.Scm; 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.Parameter; +import org.apache.maven.project.MavenProject; import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder; @@ -154,7 +157,36 @@ public abstract class AbstractScmReleaseMojo // As long as Scm.getId() does not exist, read it as a property descriptor.setScmId( project.getProperties().getProperty( "project.scm.id" ) ); + + for ( MavenProject reactorProject : session.getProjects() ) + { + if ( reactorProject.getScm() != null ) + { + String projectId = + ArtifactUtils.versionlessKey( reactorProject.getGroupId(), reactorProject.getArtifactId() ); + + descriptor.addOriginalScmInfo( projectId, buildScm( project ) ); + } + } return descriptor; } + + protected Scm buildScm( MavenProject project ) + { + Scm scm; + if ( project.getOriginalModel().getScm() == null ) + { + scm = null; + } + else + { + scm = new Scm(); + scm.setConnection( project.getOriginalModel().getScm().getConnection() ); + scm.setDeveloperConnection( project.getOriginalModel().getScm().getDeveloperConnection() ); + scm.setTag( project.getOriginalModel().getScm().getTag() ); + scm.setUrl( project.getOriginalModel().getScm().getUrl() ); + } + return scm; + } } diff --git a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java index 61d2fa7..876044b 100644 --- a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java +++ b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java @@ -32,12 +32,15 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import java.io.File; +import java.util.Collections; +import java.util.List; import java.util.Properties; import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugin.testing.AbstractMojoTestCase; +import org.apache.maven.project.MavenProject; import org.apache.maven.shared.release.ReleaseExecutionException; import org.apache.maven.shared.release.ReleaseFailureException; import org.apache.maven.shared.release.ReleaseManager; @@ -64,14 +67,21 @@ public class PrepareReleaseMojoTest throws Exception { File testFile = getTestFile( "target/test-classes/mojos/prepare/prepare.xml" ); - PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile ); + final PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile ); setDefaults( mojo ); mojo.setBasedir( testFile.getParentFile() ); mojo.session = new MavenSession( null, null, null, null, null, null, null, null, null ) { - public Properties getExecutionProperties(){ - return new Properties(); - }; + public Properties getExecutionProperties() + { + return new Properties(); + }; + + @Override + public List<MavenProject> getProjects() + { + return Collections.singletonList( mojo.project ); + } }; ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder(); @@ -101,7 +111,7 @@ public class PrepareReleaseMojoTest throws Exception { File testFile = getTestFile( "target/test-classes/mojos/prepare/prepare.xml" ); - PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile ); + final PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile ); setDefaults( mojo ); mojo.setBasedir( testFile.getParentFile() ); mojo.session = new MavenSession( null, null, null, null, null, null, null, null, null ) @@ -109,6 +119,12 @@ public class PrepareReleaseMojoTest public Properties getExecutionProperties(){ return new Properties(); }; + + @Override + public List<MavenProject> getProjects() + { + return Collections.singletonList( mojo.project ); + } }; ReleaseManager mock = mock( ReleaseManager.class ); @@ -136,7 +152,7 @@ public class PrepareReleaseMojoTest throws Exception { File testFile = getTestFile( "target/test-classes/mojos/prepare/prepare.xml" ); - PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile ); + final PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile ); setDefaults( mojo ); mojo.setBasedir( testFile.getParentFile() ); mojo.session = new MavenSession( null, null, null, null, null, null, null, null, null ) @@ -144,6 +160,12 @@ public class PrepareReleaseMojoTest public Properties getExecutionProperties(){ return new Properties(); }; + + @Override + public List<MavenProject> getProjects() + { + return Collections.singletonList( mojo.project ); + } }; ReleaseManager mock = mock( ReleaseManager.class ); -- To stop receiving notification emails like this one, please contact rfscho...@apache.org.