You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2022/05/26 21:02:26 UTC
[maven-release] branch MRELEASE-1079 updated: [MRELEASE-1079] add edge case support: root pom inherits scm
This is an automated email from the ASF dual-hosted git repository.
hboutemy pushed a commit to branch MRELEASE-1079
in repository https://gitbox.apache.org/repos/asf/maven-release.git
The following commit(s) were added to refs/heads/MRELEASE-1079 by this push:
new 1c6f2c3f [MRELEASE-1079] add edge case support: root pom inherits scm
1c6f2c3f is described below
commit 1c6f2c3f2564c28fc71b8e236ba3f0c4ea9222b0
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Thu May 26 23:02:23 2022 +0200
[MRELEASE-1079] add edge case support: root pom inherits scm
---
.../release/phase/AbstractRewritePomsPhase.java | 26 ++++++++++++----------
.../release/phase/RewritePomVersionsPhase.java | 5 +++--
.../release/phase/RewritePomsForBranchPhase.java | 7 +++---
.../phase/RewritePomsForDevelopmentPhase.java | 7 +++---
.../release/phase/RewritePomsForReleasePhase.java | 7 +++---
.../phase/RewritePomsForReleasePhaseTest.java | 4 ++--
6 files changed, 31 insertions(+), 25 deletions(-)
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 47525a46..00667a83 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
@@ -199,17 +199,18 @@ public abstract class AbstractRewritePomsPhase
{
result.setStartTime( ( startTime >= 0 ) ? startTime : System.currentTimeMillis() );
+ boolean first = true;
for ( MavenProject project : reactorProjects )
{
logInfo( result, "Transforming '" + project.getName() + "'..." );
- transformProject( project, releaseDescriptor, releaseEnvironment, simulate, result );
+ transformProject( project, first, releaseDescriptor, releaseEnvironment, simulate, result );
+ first = false;
}
}
- private void transformProject( MavenProject project, ReleaseDescriptor releaseDescriptor,
- ReleaseEnvironment releaseEnvironment, boolean simulate,
- ReleaseResult result )
+ private void transformProject( MavenProject project, boolean first, ReleaseDescriptor releaseDescriptor,
+ ReleaseEnvironment releaseEnvironment, boolean simulate, ReleaseResult result )
throws ReleaseExecutionException, ReleaseFailureException
{
File pomFile = ReleaseUtil.getStandardPom( project );
@@ -244,7 +245,7 @@ public abstract class AbstractRewritePomsPhase
}
}
- transformDocument( project, etl.getModel(), releaseDescriptor, scmRepository, result,
+ transformDocument( project, first, etl.getModel(), releaseDescriptor, scmRepository, result,
simulate );
File outputFile;
@@ -261,9 +262,9 @@ public abstract class AbstractRewritePomsPhase
}
- private void transformDocument( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
- ScmRepository scmRepository, ReleaseResult result,
- boolean simulate )
+ private void transformDocument( MavenProject project, boolean first, Model modelTarget,
+ ReleaseDescriptor releaseDescriptor, ScmRepository scmRepository,
+ ReleaseResult result, boolean simulate )
throws ReleaseExecutionException, ReleaseFailureException
{
Model model = project.getModel();
@@ -356,7 +357,7 @@ public abstract class AbstractRewritePomsPhase
}
}
- transformScm( project, modelTarget, releaseDescriptor, projectId, scmRepository, result );
+ transformScm( project, first, modelTarget, releaseDescriptor, projectId, scmRepository, result );
if ( properties != null )
{
@@ -646,6 +647,7 @@ public abstract class AbstractRewritePomsPhase
* <p>transformScm.</p>
*
* @param project a {@link org.apache.maven.project.MavenProject} object
+ * @param first is first project in reactor
* @param modelTarget a {@link org.apache.maven.model.Model} object
* @param releaseDescriptor a {@link org.apache.maven.shared.release.config.ReleaseDescriptor} object
* @param projectId a {@link java.lang.String} object
@@ -653,9 +655,9 @@ public abstract class AbstractRewritePomsPhase
* @param result a {@link org.apache.maven.shared.release.ReleaseResult} object
* @throws org.apache.maven.shared.release.ReleaseExecutionException if any.
*/
- protected abstract void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
- String projectId, ScmRepository scmRepository,
- ReleaseResult result )
+ protected abstract void transformScm( MavenProject project, boolean first, Model modelTarget,
+ ReleaseDescriptor releaseDescriptor, String projectId,
+ ScmRepository scmRepository, ReleaseResult result )
throws ReleaseExecutionException;
/**
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java
index d95ee1ad..571a9151 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java
@@ -59,8 +59,9 @@ public class RewritePomVersionsPhase
}
@Override
- protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
- String projectId, ScmRepository scmRepository, ReleaseResult result )
+ protected void transformScm( MavenProject project, boolean first, Model modelTarget,
+ ReleaseDescriptor releaseDescriptor, String projectId, ScmRepository scmRepository,
+ ReleaseResult result )
{
// We are only updating versions no mods to scm needed
}
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 20893f72..313fa0bf 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
@@ -68,9 +68,10 @@ public class RewritePomsForBranchPhase
}
@Override
- protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
- String projectId, ScmRepository scmRepository, ReleaseResult result )
- throws ReleaseExecutionException
+ protected void transformScm( MavenProject project, boolean first, Model modelTarget,
+ ReleaseDescriptor releaseDescriptor, String projectId, ScmRepository scmRepository,
+ ReleaseResult result )
+ throws ReleaseExecutionException
{
// If SCM is null in original model, it is inherited, no mods needed
if ( project.getScm() != null )
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhase.java
index b9914c72..e12e7eb9 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhase.java
@@ -61,11 +61,12 @@ public class RewritePomsForDevelopmentPhase
}
@Override
- protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
- String projectId, ScmRepository scmRepository, ReleaseResult result )
+ protected void transformScm( MavenProject project, boolean first, Model modelTarget,
+ ReleaseDescriptor releaseDescriptor, String projectId, ScmRepository scmRepository,
+ ReleaseResult result )
{
// If SCM is null in original model, it is inherited, no mods needed
- if ( project.getScm() != null )
+ if ( project.getOriginalModel().getScm() != null || ( first && project.getScm() != null ) )
{
Scm scmRoot = modelTarget.getScm();
if ( scmRoot != 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 4c1f46de..c4c6a5d3 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
@@ -68,12 +68,13 @@ public class RewritePomsForReleasePhase
}
@Override
- protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
- String projectId, ScmRepository scmRepository, ReleaseResult result )
+ protected void transformScm( MavenProject project, boolean first, Model modelTarget,
+ ReleaseDescriptor releaseDescriptor, String projectId, ScmRepository scmRepository,
+ ReleaseResult result )
throws ReleaseExecutionException
{
// If SCM is null in original model, it is inherited, no mods needed
- if ( project.getOriginalModel().getScm() != null )
+ if ( project.getOriginalModel().getScm() != null || ( first && project.getScm() != null ) )
{
Scm scmRoot = modelTarget.getScm();
if ( scmRoot != null )
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java
index dfebf3ce..f221f4ef 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java
@@ -333,7 +333,7 @@ public class RewritePomsForReleasePhaseTest
}
}
- //@Test TODO fix
+ @Test
public void testRewriteBasicPomWithInheritedScm()
throws Exception
{
@@ -449,7 +449,7 @@ public class RewritePomsForReleasePhaseTest
return builder;
}
- //@Test TODO fix
+ @Test
public void testRewritePomWithExternallyReleasedParent()
throws Exception
{