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/03/23 19:39:53 UTC

[maven-release] 04/05: RewritePomsForReleasePhase uses workingDirectory instead of commonBasedir

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

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

commit e375f1616d244acd12f17277f0e2df885d52067f
Author: rfscholte <rf...@apache.org>
AuthorDate: Fri Mar 23 20:05:19 2018 +0100

    RewritePomsForReleasePhase uses workingDirectory instead of commonBasedir
---
 .../release/phase/RewritePomsForReleasePhase.java  |  6 ++--
 ...tractEditModeRewritingReleasePhaseTestCase.java |  1 +
 .../AbstractRewritingReleasePhaseTestCase.java     |  7 +++++
 .../phase/RewritePomsForBranchPhaseTest.java       | 11 ++-----
 .../phase/RewritePomsForReleasePhaseTest.java      | 34 +++++++++++++++-------
 5 files changed, 38 insertions(+), 21 deletions(-)

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 2c90bd3..83ad4c3 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
@@ -22,6 +22,7 @@ package org.apache.maven.shared.release.phase;
 import java.io.IOException;
 import java.nio.file.LinkOption;
 import java.nio.file.Path;
+import java.nio.file.Paths;
 
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.model.Model;
@@ -127,10 +128,11 @@ public class RewritePomsForReleasePhase
                 tagBase = "scm:svn:" + tagBase;
             }
 
-            Path workingDirectory = project.getBasedir().toPath().toRealPath( LinkOption.NOFOLLOW_LINKS );
+            Path projectBasedir = project.getBasedir().toPath().toRealPath( LinkOption.NOFOLLOW_LINKS );
+            Path workingDirectory = Paths.get( releaseDescriptor.getWorkingDirectory() );
 
             int count =
-                ReleaseUtil.getBaseWorkingDirectoryParentCount( commonBasedir, workingDirectory );
+                ReleaseUtil.getBaseWorkingDirectoryParentCount( workingDirectory, projectBasedir );
             if ( scm.getConnection() != null )
             {
                 String rootUrl = ReleaseUtil.realignScmUrl( count, scm.getConnection() );
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractEditModeRewritingReleasePhaseTestCase.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractEditModeRewritingReleasePhaseTestCase.java
index 9abaec8..040f98d 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractEditModeRewritingReleasePhaseTestCase.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractEditModeRewritingReleasePhaseTestCase.java
@@ -68,6 +68,7 @@ public abstract class AbstractEditModeRewritingReleasePhaseTestCase
     {
         List<MavenProject> reactorProjects = createReactorProjects( "basic-pom" );
         ReleaseDescriptorBuilder builder = createDescriptorFromBasicPom( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "basic-pom" ).toString() );
         builder.setScmUseEditMode( true );
         mapNextVersion( builder, "groupId:artifactId" );
 
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 a8f2dff..0e2b10b 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
@@ -98,6 +98,7 @@ public abstract class AbstractRewritingReleasePhaseTestCase
     {
         List<MavenProject> reactorProjects = createReactorProjects( "basic-pom" );
         ReleaseDescriptorBuilder builder = createDescriptorFromBasicPom( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "basic-pom" ).toString() );
         mapNextVersion( builder, "groupId:artifactId" );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
@@ -137,6 +138,7 @@ public abstract class AbstractRewritingReleasePhaseTestCase
     {
         List<MavenProject> reactorProjects = createReactorProjects( "basic-pom-with-encoding" );
         ReleaseDescriptorBuilder builder = createDescriptorFromBasicPom( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "basic-pom-with-encoding" ).toString() );
         mapNextVersion( builder, "groupId:artifactId" );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
@@ -150,6 +152,7 @@ public abstract class AbstractRewritingReleasePhaseTestCase
     {
         List<MavenProject> reactorProjects = createReactorProjects( "pom-with-parent" );
         ReleaseDescriptorBuilder builder = createConfigurationForPomWithParentAlternateNextVersion( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "pom-with-parent" ).toString() );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
 
@@ -492,6 +495,7 @@ public abstract class AbstractRewritingReleasePhaseTestCase
             String path = "basic-pom";
             List<MavenProject> reactorProjects = prepareReactorProjects( path );
             ReleaseDescriptorBuilder builder = createDescriptorFromBasicPom( reactorProjects );
+            builder.setWorkingDirectory( getWorkingDirectory( "basic-pom" ).toString() );
             mapNextVersion( builder, "groupId:artifactId" );
             builder.setAddSchema( true );
 
@@ -615,6 +619,7 @@ public abstract class AbstractRewritingReleasePhaseTestCase
     {
         List<MavenProject> reactorProjects = createReactorProjects( "whitespace-around-values" );
         ReleaseDescriptorBuilder builder = createConfigurationForPomWithParentAlternateNextVersion( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "whitespace-around-values" ).toString() );
         mapNextVersion( builder, "groupId:subproject2" );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
@@ -628,6 +633,7 @@ public abstract class AbstractRewritingReleasePhaseTestCase
     {
         List<MavenProject> reactorProjects = createReactorProjects( "comments-around-values" );
         ReleaseDescriptorBuilder builder = createConfigurationForPomWithParentAlternateNextVersion( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "comments-around-values" ).toString() );
         mapNextVersion( builder, "groupId:subproject2" );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
@@ -641,6 +647,7 @@ public abstract class AbstractRewritingReleasePhaseTestCase
     {
         List<MavenProject> reactorProjects = createReactorProjects( "cdata-around-values" );
         ReleaseDescriptorBuilder builder = createConfigurationForPomWithParentAlternateNextVersion( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "cdata-around-values" ).toString() );
         mapNextVersion( builder, "groupId:subproject2" );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
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 875327f..5f337b8 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
@@ -25,7 +25,6 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.File;
 import java.io.IOException;
-import java.nio.file.Path;
 import java.util.List;
 import java.util.Objects;
 
@@ -60,17 +59,11 @@ public class RewritePomsForBranchPhaseTest
     }
 
     @Override
-    protected Path getWorkingDirectory( String workingDir )
-    {
-        return super.getWorkingDirectory( "rewrite-for-branch/" + workingDir );
-    }
-
-    @Override
     protected List<MavenProject> prepareReactorProjects( String path )
         throws Exception
     {
         String dir = "rewrite-for-branch/" + Objects.toString( path, "" );
-        return createReactorProjects( dir, path, null );
+        return createReactorProjects( dir, dir, null );
     }
 
     @Override
@@ -414,7 +407,7 @@ public class RewritePomsForBranchPhaseTest
         throws Exception
     {
         List<MavenProject> reactorProjects =
-            createReactorProjects( "rewrite-for-branch/pom-with-parent-flat", "pom-with-parent-flat", "root-project" );
+            createReactorProjects( "rewrite-for-branch/pom-with-parent-flat", "root-project" );
         ReleaseDescriptorBuilder builder = createConfigurationForPomWithParentAlternateNextVersion( reactorProjects );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
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 c83b978..8c7d01c 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
@@ -88,6 +88,7 @@ public class RewritePomsForReleasePhaseTest
     {
         List<MavenProject> reactorProjects = createReactorProjects( "basic-pom" );
         ReleaseDescriptorBuilder builder = createDescriptorFromBasicPom( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "basic-pom" ).toString() );
         builder.addReleaseVersion( "groupId:artifactId", NEXT_VERSION );
 
         String expected = readTestProjectFile( "basic-pom/pom.xml" );
@@ -108,6 +109,7 @@ public class RewritePomsForReleasePhaseTest
     {
         List<MavenProject> reactorProjects = createReactorProjects( "basic-pom-with-dashes-in-comment" );
         ReleaseDescriptorBuilder builder = createDescriptorFromBasicPom( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "basic-pom-with-dashes-in-comment" ).toString() );
         builder.addReleaseVersion( "groupId:artifactId", NEXT_VERSION );
 
         String expected = readTestProjectFile( "basic-pom-with-dashes-in-comment/pom.xml" );
@@ -165,6 +167,7 @@ public class RewritePomsForReleasePhaseTest
     {
         List<MavenProject> reactorProjects = createReactorProjects( "pom-with-overridden-scm" );
         ReleaseDescriptorBuilder builder = createConfigurationForWithParentNextVersion( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "pom-with-overridden-scm" ).toString() );
         builder.addReleaseVersion( "groupId:subsubproject", NEXT_VERSION );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
@@ -232,7 +235,7 @@ public class RewritePomsForReleasePhaseTest
     {
 
         List<MavenProject> reactorProjects = createReactorProjects( "basic-pom-with-scm-expression" );
-        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects );
+        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects, "basic-pom-with-scm-expression" );
         mapNextVersion( builder, "groupId:artifactId" );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
@@ -246,7 +249,7 @@ public class RewritePomsForReleasePhaseTest
     {
 
         List<MavenProject> reactorProjects = createReactorProjects( "basic-pom-with-tag-base" );
-        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects );
+        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects, "basic-pom-with-tag-base" );
         builder.setScmTagBase( "file://localhost/tmp/scm-repo/releases" );
         mapNextVersion( builder, "groupId:artifactId" );
 
@@ -260,7 +263,7 @@ public class RewritePomsForReleasePhaseTest
         throws Exception
     {
         List<MavenProject> reactorProjects = createReactorProjects( "basic-pom-with-tag-base-and-varying-scm-urls" );
-        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects );
+        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects, "basic-pom-with-tag-base-and-varying-scm-urls" );
         builder.setScmTagBase( "file://localhost/tmp/scm-repo/allprojects/releases" );
         mapNextVersion( builder, "groupId:artifactId" );
 
@@ -287,7 +290,7 @@ public class RewritePomsForReleasePhaseTest
         throws Exception
     {
         List<MavenProject> reactorProjects = createReactorProjects( "basic-pom-with-empty-scm" );
-        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects );
+        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects, "basic-pom-with-empty-scm" );
         mapNextVersion( builder, "groupId:artifactId" );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
@@ -339,6 +342,7 @@ public class RewritePomsForReleasePhaseTest
     {
         List<MavenProject> reactorProjects = createReactorProjects( "basic-pom-inherited-scm" );
         ReleaseDescriptorBuilder builder = createConfigurationForWithParentNextVersion( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "basic-pom-inherited-scm" ).toString() );
         builder.addReleaseVersion( "groupId:subsubproject", NEXT_VERSION );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
@@ -352,7 +356,7 @@ public class RewritePomsForReleasePhaseTest
     {
         List<MavenProject> reactorProjects = createReactorProjects( "pom-with-parent-and-properties" );
 
-        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects );
+        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects, "pom-with-parent-and-properties" );
         builder.addReleaseVersion( "groupId:artifactId", NEXT_VERSION );
         builder.addReleaseVersion( "groupId:subproject1", ALTERNATIVE_NEXT_VERSION );
         builder.addReleaseVersion( "groupId:subproject2", ALTERNATIVE_NEXT_VERSION );
@@ -369,7 +373,7 @@ public class RewritePomsForReleasePhaseTest
     {
         List<MavenProject> reactorProjects = createReactorProjects( "pom-with-property-dependency-coordinate" );
 
-        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects );
+        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects, "pom-with-property-dependency-coordinate" );
         builder.addReleaseVersion( "groupId:artifactId", NEXT_VERSION );
         builder.addReleaseVersion( "groupId:subproject1-3.4", ALTERNATIVE_NEXT_VERSION );
         builder.addReleaseVersion( "groupId:subproject2", ALTERNATIVE_NEXT_VERSION );
@@ -386,7 +390,7 @@ public class RewritePomsForReleasePhaseTest
     {
         List<MavenProject> reactorProjects = createReactorProjects( "pom-with-scm-of-parent-ending-with-a-slash" );
 
-        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects );
+        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects, "pom-with-scm-of-parent-ending-with-a-slash" );
         builder.addReleaseVersion( "groupId:artifactId", NEXT_VERSION );
         builder.addReleaseVersion( "groupId:subproject1", ALTERNATIVE_NEXT_VERSION );
 
@@ -401,7 +405,7 @@ public class RewritePomsForReleasePhaseTest
     {
         List<MavenProject> reactorProjects = createReactorProjects( "multimodule-with-deep-subprojects" );
 
-        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects );
+        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects, "multimodule-with-deep-subprojects" );
         builder.addReleaseVersion( "groupId:artifactId", NEXT_VERSION );
         builder.addReleaseVersion( "groupId:subproject1", ALTERNATIVE_NEXT_VERSION );
         builder.addReleaseVersion( "groupId:subproject2", ALTERNATIVE_NEXT_VERSION );
@@ -418,6 +422,7 @@ public class RewritePomsForReleasePhaseTest
         List<MavenProject> reactorProjects =
             createReactorProjects( "rewrite-for-release/pom-with-parent-flat", "pom-with-parent-flat", "root-project" );
         ReleaseDescriptorBuilder builder = createConfigurationForPomWithParentAlternateNextVersion( reactorProjects );
+        builder.setWorkingDirectory( getWorkingDirectory( "pom-with-parent-flat" ).toString() );
 
         phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
 
@@ -430,7 +435,7 @@ public class RewritePomsForReleasePhaseTest
         throws Exception
     {
         List<MavenProject> reactorProjects = createReactorProjects( "cdata-section" );
-        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects );
+        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects, "cdata-section" );
         mapNextVersion( builder, "groupId:artifactId" );
 
         RewritePomsForReleasePhase phase = (RewritePomsForReleasePhase) this.phase;
@@ -442,12 +447,21 @@ public class RewritePomsForReleasePhaseTest
     }
 
     @Override
+    @Deprecated
     protected ReleaseDescriptorBuilder createDescriptorFromProjects( List<MavenProject> reactorProjects )
     {
         ReleaseDescriptorBuilder builder = super.createDescriptorFromProjects( reactorProjects );
         builder.setScmReleaseLabel( "release-label" );
         return builder;
     }
+    
+    protected ReleaseDescriptorBuilder createDescriptorFromProjects( List<MavenProject> reactorProjects, String workingDirectory )
+    {
+        ReleaseDescriptorBuilder builder = super.createDescriptorFromProjects( reactorProjects );
+        builder.setScmReleaseLabel( "release-label" );
+        builder.setWorkingDirectory( getWorkingDirectory( workingDirectory ).toString() );
+        return builder;
+    }
 
     @Test
     public void testRewritePomWithExternallyReleasedParent()
@@ -455,7 +469,7 @@ public class RewritePomsForReleasePhaseTest
     {
         List<MavenProject> reactorProjects = createReactorProjects( "pom-with-externally-released-parent" );
 
-        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects );
+        ReleaseDescriptorBuilder builder = createDescriptorFromProjects( reactorProjects, "pom-with-externally-released-parent" );
         builder.addDependencyReleaseVersion( "external:parent-artifactId", "1" );
         builder.addDependencyDevelopmentVersion( "external:parent-artifactId", "2-SNAPSHOT" );
         builder.addReleaseVersion( "groupId:subproject1", ALTERNATIVE_NEXT_VERSION );

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