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:03:00 UTC
[maven-release] 12/21: Move adding originalScm to plugin,
should not be decided during a pahse
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 <rf...@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
rfscholte@apache.org.