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/04 19:17:51 UTC

[maven-release] branch master updated (c72c431 -> 45cd37f)

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

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


    from c72c431  [MRELEASE-694] -SNAPSHOT is unexpectedly appended to version in branched pom.xml
     new 33ca391  Pull up commonBasedir
     new a3a0c08  Move AbstractReleasePhase to maven-release-api
     new c3608ee  releaseDescriptor.getOriginalScmInfo( projectId ) is checked twice, so 1 can be removed.
     new 52bfff2  Switch to Paths, which are more reliable and powerful compared to Files
     new 45cd37f  More Path replacements

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../shared/release/phase/AbstractReleasePhase.java |   7 -
 .../release/phase/AbstractRewritePomsPhase.java    |  33 ++--
 .../release/phase/CheckoutProjectFromScm.java      |  16 +-
 .../shared/release/phase/MapVersionsPhase.java     |   6 +
 .../release/phase/RewritePomVersionsPhase.java     |   4 +-
 .../release/phase/RewritePomsForBranchPhase.java   |   9 +-
 .../phase/RewritePomsForDevelopmentPhase.java      |  11 +-
 .../release/phase/RewritePomsForReleasePhase.java  |  10 +-
 .../maven/shared/release/util/ReleaseUtil.java     |  84 ++--------
 .../shared/release/DefaultReleaseManagerTest.java  |   3 +-
 .../PropertiesReleaseDescriptorStoreTest.java      |  13 +-
 .../shared/release/config/ReleaseUtilsTest.java    |   5 +-
 .../release/phase/AbstractReleaseTestCase.java     |   7 -
 .../phase/RewritePomsForDevelopmentPhaseTest.java  |  30 ----
 .../shared/release/phase/ScmBranchPhaseTest.java   |  27 ++-
 .../shared/release/phase/ScmTagPhaseTest.java      |  27 ++-
 .../maven/shared/release/util/ReleaseUtilTest.java | 185 +++++++++++----------
 17 files changed, 184 insertions(+), 293 deletions(-)
 rename {maven-release-manager => maven-release-api}/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePhase.java (90%)

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

[maven-release] 04/05: Switch to Paths, which are more reliable and powerful compared to Files

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 52bfff25ffcccca1061000dc60395090e233d371
Author: rfscholte <rf...@apache.org>
AuthorDate: Sun Mar 4 17:49:22 2018 +0100

    Switch to Paths, which are more reliable and powerful compared to Files
---
 .../release/phase/AbstractRewritePomsPhase.java    |   9 +-
 .../release/phase/CheckoutProjectFromScm.java      |   2 +-
 .../release/phase/RewritePomVersionsPhase.java     |   4 +-
 .../release/phase/RewritePomsForBranchPhase.java   |   9 +-
 .../phase/RewritePomsForDevelopmentPhase.java      |   4 +-
 .../release/phase/RewritePomsForReleasePhase.java  |  10 +-
 .../maven/shared/release/util/ReleaseUtil.java     |  78 ++-------
 .../maven/shared/release/util/ReleaseUtilTest.java | 185 +++++++++++----------
 8 files changed, 132 insertions(+), 169 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 d068ce4..066c796 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
@@ -21,6 +21,7 @@ package org.apache.maven.shared.release.phase;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
@@ -169,7 +170,7 @@ public abstract class AbstractRewritePomsPhase
                             List<MavenProject> reactorProjects, boolean simulate, ReleaseResult result )
         throws ReleaseExecutionException, ReleaseFailureException
     {
-        String commonBasedir;
+        Path commonBasedir;
         try
         {
             commonBasedir = ReleaseUtil.getCommonBasedir( reactorProjects );
@@ -189,7 +190,7 @@ public abstract class AbstractRewritePomsPhase
     }
 
     private void transformProject( MavenProject project, ReleaseDescriptor releaseDescriptor,
-                                   ReleaseEnvironment releaseEnvironment, String commonBasedir,
+                                   ReleaseEnvironment releaseEnvironment, Path commonBasedir,
                                    boolean simulate, ReleaseResult result )
         throws ReleaseExecutionException, ReleaseFailureException
     {
@@ -244,7 +245,7 @@ public abstract class AbstractRewritePomsPhase
     }
 
     private void transformDocument( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
-                                    String commonBasedir, ScmRepository scmRepository,
+                                    Path commonBasedir, ScmRepository scmRepository,
                                     ReleaseResult result, boolean simulate )
         throws ReleaseExecutionException, ReleaseFailureException
     {
@@ -568,7 +569,7 @@ public abstract class AbstractRewritePomsPhase
 
     protected abstract void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
                                           String projectId, ScmRepository scmRepository,
-                                          ReleaseResult result, String commonBasedir )
+                                          ReleaseResult result, Path commonBasedir )
         throws ReleaseExecutionException;
 
     /**
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java
index 33f9537..60f78b8 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java
@@ -224,7 +224,7 @@ public class CheckoutProjectFromScm
             String basedir;
             try
             {
-                basedir = ReleaseUtil.getCommonBasedir( reactorProjects );
+                basedir = ReleaseUtil.getCommonBasedir( reactorProjects ).toString();
             }
             catch ( IOException e )
             {
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 0ef834e..2bbd7b6 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
@@ -19,6 +19,8 @@ package org.apache.maven.shared.release.phase;
  * under the License.
  */
 
+import java.nio.file.Path;
+
 import org.apache.maven.model.Model;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.scm.repository.ScmRepository;
@@ -45,7 +47,7 @@ public class RewritePomVersionsPhase
     @Override
     protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
                                  String projectId, ScmRepository scmRepository, ReleaseResult result,
-                                 String commonBasedir )
+                                 Path commonBasedir )
         throws ReleaseExecutionException
     {
         // 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 586e97d..840f89a 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
@@ -20,6 +20,7 @@ package org.apache.maven.shared.release.phase;
  */
 
 import java.io.IOException;
+import java.nio.file.Path;
 
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.model.Model;
@@ -52,7 +53,7 @@ public class RewritePomsForBranchPhase
     @Override
     protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
                                  String projectId, ScmRepository scmRepository, ReleaseResult result,
-                                 String commonBasedir )
+                                 Path commonBasedir )
     throws ReleaseExecutionException
     {
         // If SCM is null in original model, it is inherited, no mods needed
@@ -105,7 +106,7 @@ public class RewritePomsForBranchPhase
     }
 
     private boolean translateScm( MavenProject project, ReleaseDescriptor releaseDescriptor, Scm scmTarget,
-                                  ScmRepository scmRepository, ReleaseResult relResult, String commonBasedir )
+                                  ScmRepository scmRepository, ReleaseResult relResult, Path commonBasedir )
     throws IOException
     {
         ScmTranslator translator = getScmTranslators().get( scmRepository.getProvider() );
@@ -127,9 +128,7 @@ public class RewritePomsForBranchPhase
                 branchBase = "scm:svn:" + branchBase;
             }
 
-            String workingDirectory =
-                ReleaseUtil.isSymlink( project.getBasedir() ) ? project.getBasedir().getCanonicalPath()
-                                : project.getBasedir().getAbsolutePath();
+            Path workingDirectory = project.getBasedir().toPath().toRealPath();
 
             int count =
                 ReleaseUtil.getBaseWorkingDirectoryParentCount( commonBasedir, workingDirectory );
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 eb5ff4d..3c6aa82 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
@@ -19,6 +19,8 @@ package org.apache.maven.shared.release.phase;
  * under the License.
  */
 
+import java.nio.file.Path;
+
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Scm;
 import org.apache.maven.project.MavenProject;
@@ -47,7 +49,7 @@ public class RewritePomsForDevelopmentPhase
     @Override
     protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
                                  String projectId, ScmRepository scmRepository, ReleaseResult result,
-                                 String commonBasedir )
+                                 Path commonBasedir )
         throws ReleaseExecutionException
     {
         // If SCM is null in original model, it is inherited, no mods needed
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 dc774a1..4e4bea4 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
@@ -20,6 +20,7 @@ package org.apache.maven.shared.release.phase;
  */
 
 import java.io.IOException;
+import java.nio.file.Path;
 
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.model.Model;
@@ -51,7 +52,7 @@ public class RewritePomsForReleasePhase
     @Override
     protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
                                  String projectId, ScmRepository scmRepository, ReleaseResult result,
-                                 String commonBasedir )
+                                 Path commonBasedir )
     throws ReleaseExecutionException
     {
         // If SCM is null in original model, it is inherited, no mods needed
@@ -103,7 +104,7 @@ public class RewritePomsForReleasePhase
     }
 
     private boolean translateScm( MavenProject project, ReleaseDescriptor releaseDescriptor, Scm scmTarget,
-                                  ScmRepository scmRepository, ReleaseResult relResult, String commonBasedir )
+                                  ScmRepository scmRepository, ReleaseResult relResult, Path commonBasedir )
         throws IOException
     {
         ScmTranslator translator = getScmTranslators().get( scmRepository.getProvider() );
@@ -125,9 +126,8 @@ public class RewritePomsForReleasePhase
                 tagBase = "scm:svn:" + tagBase;
             }
 
-            String workingDirectory =
-                ReleaseUtil.isSymlink( project.getBasedir() ) ? project.getBasedir().getCanonicalPath()
-                                : project.getBasedir().getAbsolutePath();
+            Path workingDirectory = project.getBasedir().toPath().toRealPath();
+
             int count =
                 ReleaseUtil.getBaseWorkingDirectoryParentCount( commonBasedir, workingDirectory );
             if ( scm.getConnection() != null )
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
index 00f2c1e..587a50c 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
@@ -26,9 +26,7 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Locale;
 
-import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.maven.model.Model;
 import org.apache.maven.project.MavenProject;
@@ -42,7 +40,6 @@ import org.codehaus.plexus.interpolation.ObjectBasedValueSource;
 import org.codehaus.plexus.interpolation.PrefixAwareRecursionInterceptor;
 import org.codehaus.plexus.interpolation.PrefixedObjectValueSource;
 import org.codehaus.plexus.interpolation.StringSearchInterpolator;
-import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
 
@@ -58,8 +55,6 @@ public class ReleaseUtil
     @SuppressWarnings( "checkstyle:constantname" )
     public static final String POMv4 = "pom.xml";
 
-    private static final String FS = File.separator;
-
     /**
      * The line separator to use.
      */
@@ -172,7 +167,7 @@ public class ReleaseUtil
                                                                            List<MavenProject> reactorProjects )
         throws ReleaseExecutionException
     {
-        String basedir;
+        Path basedir;
         try
         {
             basedir = getCommonBasedir( reactorProjects );
@@ -185,82 +180,37 @@ public class ReleaseUtil
 
         int parentLevels =
             getBaseWorkingDirectoryParentCount( basedir,
-                                                FileUtils.normalize( releaseDescriptor.getWorkingDirectory() ) );
+                                                Paths.get( releaseDescriptor.getWorkingDirectory() ) );
 
         String url = releaseDescriptor.getScmSourceUrl();
         url = realignScmUrl( parentLevels, url );
 
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
-        builder.setWorkingDirectory( basedir );
+        builder.setWorkingDirectory( basedir.toFile().getAbsolutePath() );
         builder.setScmSourceUrl( url );
         return ReleaseUtils.buildReleaseDescriptor( builder );
     }
 
-    public static String getCommonBasedir( List<MavenProject> reactorProjects )
-        throws IOException
-    {
-        return getCommonBasedir( reactorProjects, FS );
-    }
-
-    public static String getCommonBasedir( List<MavenProject> reactorProjects, String separator )
+    public static Path getCommonBasedir( List<MavenProject> reactorProjects )
         throws IOException
     {
-        String[] baseDirs = new String[reactorProjects.size()];
-        int idx = 0;
-        for ( MavenProject p : reactorProjects )
+        Path basePath = reactorProjects.get( 0 ).getBasedir().toPath();
+        
+        for ( MavenProject reactorProject : reactorProjects )
         {
-            String dir = p.getBasedir().getCanonicalPath();
-
-            // always end with separator so that we know what is a path and what is a partial directory name in the
-            // next call
-            if ( !dir.endsWith( separator ) )
+            Path matchPath = reactorProject.getBasedir().toPath();
+            while ( !basePath.startsWith( matchPath ) )
             {
-                dir = dir + separator;
+                matchPath = matchPath.getParent();
             }
-            baseDirs[idx++] = dir;
+            basePath = matchPath;
         }
-
-        String basedir = StringUtils.getCommonPrefix( baseDirs );
-
-        int separatorPos = basedir.lastIndexOf( separator );
-        if ( !basedir.endsWith( separator ) && separatorPos >= 0 )
-        {
-            basedir = basedir.substring( 0, separatorPos );
-        }
-
-        if ( basedir.endsWith( separator ) && basedir.length() > 1 )
-        {
-            basedir = basedir.substring( 0, basedir.length() - 1 );
-        }
-
-        return basedir;
+        return basePath;
     }
 
-    public static int getBaseWorkingDirectoryParentCount( String basedir, String workingDirectory )
+    public static int getBaseWorkingDirectoryParentCount( final Path baseDirectory, final Path workingDirectory )
     {
-        int num = 0;
-
-        // we can safely assume case-insensitivity as we are just backtracking, not comparing. This helps with issues
-        // on Windows with C: vs c:
-        workingDirectory = FilenameUtils.normalize( workingDirectory.toLowerCase( Locale.ENGLISH ) );
-        basedir = FilenameUtils.normalize( basedir.toLowerCase( Locale.ENGLISH ) );
-
-        // MRELEASE-663
-        // For Windows is does matter if basedir ends with a file-separator or not to be able to compare.
-        // Using the parent of a dummy file makes it possible to compare them OS-independent
-        Path workingDirectoryFile = Paths.get( workingDirectory, ".tmp" ).getParent();
-        Path basedirFile = Paths.get( basedir, ".tmp" ).getParent();
-
-        if ( !workingDirectoryFile.equals( basedirFile ) && workingDirectory.startsWith( basedir ) )
-        {
-            do
-            {
-                workingDirectoryFile = workingDirectoryFile.getParent();
-                num++;
-            }
-            while ( !workingDirectoryFile.equals( basedirFile ) );
-        }
-        return num;
+        return Math.max( 0, workingDirectory.normalize().getNameCount() - baseDirectory.normalize().getNameCount() );
     }
 
     public static String realignScmUrl( int parentLevels, String url )
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java
index 6b063c9..3cdb7e4 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java
@@ -25,6 +25,8 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assume.*;
 
 import java.io.File;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.Arrays;
 import java.util.Collections;
 
@@ -50,122 +52,129 @@ public class ReleaseUtilTest
     @Test
     public void testGetCommonBasedirSingleProject() throws Exception
     {
-        assertEquals( "/working/directory/flat-multi-module/project", ReleaseUtil.getCommonBasedir(
-            Collections.singletonList( createProject( "/working/directory/flat-multi-module/project" ) ), "/" ) );
+        assertEquals( Paths.get( "/working/directory/flat-multi-module/project" ),
+                      ReleaseUtil.getCommonBasedir( Collections.singletonList( createProject( "/working/directory/flat-multi-module/project" ) ) ) );
     }
 
     @Test
     public void testGetCommonBasedirSingleProjectWindows() throws Exception
     {
-        assertEquals( "C:\\working\\directory\\flat-multi-module\\project", ReleaseUtil.getCommonBasedir(
-            Collections.singletonList( createProject( "C:\\working\\directory\\flat-multi-module\\project" ) ),
-            "\\" ) );
+        assertEquals( Paths.get( "C:\\working\\directory\\flat-multi-module\\project" ),
+                      ReleaseUtil.getCommonBasedir( Collections.singletonList( createProject( "C:\\working\\directory\\flat-multi-module\\project" ) ) ) );
     }
 
     @Test
     public void testGetCommonBasedirOfFlatMultiModule()
         throws Exception
     {
-        assertEquals( "/working/directory/flat-multi-module", ReleaseUtil.getCommonBasedir( Arrays.asList(
-            new MavenProject[]{createProject( "/working/directory/flat-multi-module/root-project" ),
-                createProject( "/working/directory/flat-multi-module/core" ),
-                createProject( "/working/directory/flat-multi-module/webapp" )} ), "/" ) );
+        assertEquals( Paths.get( "/working/directory/flat-multi-module" ),
+                      ReleaseUtil.getCommonBasedir( Arrays.asList( new MavenProject[] {
+                          createProject( "/working/directory/flat-multi-module/root-project" ),
+                          createProject( "/working/directory/flat-multi-module/core" ),
+                          createProject( "/working/directory/flat-multi-module/webapp" ) } ) ) );
     }
 
     @Test
     public void testGetCommonBasedirOfFlatMultiModuleWindows()
         throws Exception
     {
-        assertEquals( "C:\\working\\directory\\flat-multi-module", ReleaseUtil.getCommonBasedir( Arrays.asList(
-            new MavenProject[]{createProject( "C:\\working\\directory\\flat-multi-module\\root-project" ),
-                createProject( "C:\\working\\directory\\flat-multi-module\\core" ),
-                createProject( "C:\\working\\directory\\flat-multi-module\\webapp" )} ), "\\" ) );
+        assertEquals( Paths.get( "C:\\working\\directory\\flat-multi-module" ),
+                      ReleaseUtil.getCommonBasedir( Arrays.asList( new MavenProject[] {
+                          createProject( "C:\\working\\directory\\flat-multi-module\\root-project" ),
+                          createProject( "C:\\working\\directory\\flat-multi-module\\core" ),
+                          createProject( "C:\\working\\directory\\flat-multi-module\\webapp" ) } ) ) );
     }
 
     @Test
     public void testGetCommonBasedirUppercaseLowerCaseWindows()
         throws Exception
     {
-        assertEquals( "C:\\WORKING\\root", ReleaseUtil.getCommonBasedir( Arrays.asList(
-            new MavenProject[]{createProject( "c:\\WORKING\\root", "C:\\WORKING\\root" ),
-                createProject( "c:\\working\\root\\project1", "C:\\WORKING\\root\\project1" ),
-                createProject( "C:\\WORKING\\root\\project2", "C:\\WORKING\\root\\project2" )} ), "\\" ) );
+        assertEquals( Paths.get( "C:\\WORKING\\root" ),
+                      ReleaseUtil.getCommonBasedir( Arrays.asList( new MavenProject[] {
+                          createProject( "c:\\WORKING\\root", "C:\\WORKING\\root" ),
+                          createProject( "c:\\working\\root\\project1", "C:\\WORKING\\root\\project1" ),
+                          createProject( "C:\\WORKING\\root\\project2", "C:\\WORKING\\root\\project2" ) } ) ) );
     }
 
     @Test
     public void testGetCommonBasedirOfFlatMultiModuleSimilarArtifactIds()
         throws Exception
     {
-        assertEquals( "/working/directory/flat-multi-module", ReleaseUtil.getCommonBasedir( Arrays.asList(
-            new MavenProject[]{createProject( "/working/directory/flat-multi-module/release-parent" ),
-                createProject( "/working/directory/flat-multi-module/release-module1" ),
-                createProject( "/working/directory/flat-multi-module/release-module2" )} ), "/" ) );
+        assertEquals( Paths.get( "/working/directory/flat-multi-module" ),
+                      ReleaseUtil.getCommonBasedir( Arrays.asList( new MavenProject[] {
+                          createProject( "/working/directory/flat-multi-module/release-parent" ),
+                          createProject( "/working/directory/flat-multi-module/release-module1" ),
+                          createProject( "/working/directory/flat-multi-module/release-module2" ) } ) ) );
     }
 
     @Test
     public void testGetCommonBasedirOfFlatMultiModuleSimilarArtifactIdsWindows()
         throws Exception
     {
-        assertEquals( "c:\\working\\directory\\flat-multi-module", ReleaseUtil.getCommonBasedir( Arrays.asList(
-            new MavenProject[]{createProject( "c:\\working\\directory\\flat-multi-module\\release-parent" ),
-                createProject( "c:\\working\\directory\\flat-multi-module\\release-module1" ),
-                createProject( "c:\\working\\directory\\flat-multi-module\\release-module2" )} ), "\\" ) );
+        assertEquals( Paths.get( "c:\\working\\directory\\flat-multi-module" ),
+                      ReleaseUtil.getCommonBasedir( Arrays.asList( new MavenProject[] {
+                          createProject( "c:\\working\\directory\\flat-multi-module\\release-parent" ),
+                          createProject( "c:\\working\\directory\\flat-multi-module\\release-module1" ),
+                          createProject( "c:\\working\\directory\\flat-multi-module\\release-module2" ) } ) ) );
     }
 
     @Test
     public void testGetCommonBasedirOfRegularMultiModule()
         throws Exception
     {
-        assertEquals( "/working/directory/flat-multi-module", ReleaseUtil.getCommonBasedir( Arrays.asList(
-            new MavenProject[]{createProject( "/working/directory/flat-multi-module" ),
-                createProject( "/working/directory/flat-multi-module/core" ),
-                createProject( "/working/directory/flat-multi-module/webapp" )} ), "/" ) );
+        assertEquals( Paths.get( "/working/directory/flat-multi-module" ),
+                      ReleaseUtil.getCommonBasedir( Arrays.asList( new MavenProject[] {
+                          createProject( "/working/directory/flat-multi-module" ),
+                          createProject( "/working/directory/flat-multi-module/core" ),
+                          createProject( "/working/directory/flat-multi-module/webapp" ) } ) ) );
     }
 
     @Test
     public void testGetCommonBasedirOfRegularMultiModuleParentNotBeeingFirstInReactor()
         throws Exception
     {
-        assertEquals( "/working/directory/flat-multi-module", ReleaseUtil.getCommonBasedir( Arrays.asList(
-            new MavenProject[]{
-                createProject( "/working/directory/flat-multi-module/core" ),
-                createProject( "/working/directory/flat-multi-module" ),
-                createProject( "/working/directory/flat-multi-module/webapp" )} ), "/" ) );
+        assertEquals( Paths.get( "/working/directory/flat-multi-module" ),
+                      ReleaseUtil.getCommonBasedir( Arrays.asList( new MavenProject[] {
+                          createProject( "/working/directory/flat-multi-module/core" ),
+                          createProject( "/working/directory/flat-multi-module" ),
+                          createProject( "/working/directory/flat-multi-module/webapp" ) } ) ) );
     }
 
     @Test
     public void testGetCommonBasedirOfRegularMultiModuleWindowsPath()
         throws Exception
     {
-        assertEquals( "c:\\working\\directory\\flat-multi-module", ReleaseUtil.getCommonBasedir( Arrays.asList(
-            new MavenProject[]{
-                createProject( "c:\\working\\directory\\flat-multi-module\\core" ),
-                createProject( "c:\\working\\directory\\flat-multi-module" ),
-                createProject( "c:\\working\\directory\\flat-multi-module\\webapp" )} ), "\\" ) );
+        assertEquals( Paths.get( "c:\\working\\directory\\flat-multi-module" ),
+                      ReleaseUtil.getCommonBasedir( Arrays.asList( new MavenProject[] {
+                          createProject( "c:\\working\\directory\\flat-multi-module\\core" ),
+                          createProject( "c:\\working\\directory\\flat-multi-module" ),
+                          createProject( "c:\\working\\directory\\flat-multi-module\\webapp" ) } ) ) );
     }
 
     @Test
     public void testGetCommonBasedirOfFlatMultiModuleWithMultipleLevels()
         throws Exception
     {
-        assertEquals( "/working/directory/flat-multi-module", ReleaseUtil.getCommonBasedir( Arrays.asList(
-            new MavenProject[]{createProject( "/working/directory/flat-multi-module/root-project" ),
-                createProject( "/working/directory/flat-multi-module/core" ),
-                createProject( "/working/directory/flat-multi-module/common/utils" ),
-                createProject( "/working/directory/flat-multi-module/common/xml" ),
-                createProject( "/working/directory/flat-multi-module/webapp" )} ), "/" ) );
+        assertEquals( Paths.get( "/working/directory/flat-multi-module" ),
+                      ReleaseUtil.getCommonBasedir( Arrays.asList( new MavenProject[] {
+                          createProject( "/working/directory/flat-multi-module/root-project" ),
+                          createProject( "/working/directory/flat-multi-module/core" ),
+                          createProject( "/working/directory/flat-multi-module/common/utils" ),
+                          createProject( "/working/directory/flat-multi-module/common/xml" ),
+                          createProject( "/working/directory/flat-multi-module/webapp" ) } ) ) );
     }
 
     @Test
     public void testGetCommonBasedirOfFlatMultiModuleWithDescendingHierarchy()
         throws Exception
     {
-        assertEquals( "/working/directory/flat-multi-module", ReleaseUtil.getCommonBasedir( Arrays.asList(
-            new MavenProject[]{createProject( "/working/directory/flat-multi-module/level/1/2/3" ),
-                createProject( "/working/directory/flat-multi-module/level/1/2" ),
-                createProject( "/working/directory/flat-multi-module/level/1" ),
-                createProject( "/working/directory/flat-multi-module/level" ),
-                createProject( "/working/directory/flat-multi-module/other" )} ), "/" ) );
+        assertEquals( Paths.get( "/working/directory/flat-multi-module" ),
+                      ReleaseUtil.getCommonBasedir( Arrays.asList( new MavenProject[] {
+                          createProject( "/working/directory/flat-multi-module/level/1/2/3" ),
+                          createProject( "/working/directory/flat-multi-module/level/1/2" ),
+                          createProject( "/working/directory/flat-multi-module/level/1" ),
+                          createProject( "/working/directory/flat-multi-module/level" ),
+                          createProject( "/working/directory/flat-multi-module/other" ) } ) ) );
     }
 
     @Test
@@ -232,90 +241,90 @@ public class ReleaseUtilTest
     @Test
     public void testGetBaseWorkingDirectoryParentCountSameDirectory()
     {
-        String workingDirectory = "/working/directory/maven/release";
-        String basedir = "/working/directory/maven/release";
+        Path workingDirectory = Paths.get( "/working/directory/maven/release" );
+        Path basedir = Paths.get( "/working/directory/maven/release" );
         assertEquals( 0, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
     }
 
     @Test
     public void testGetBaseWorkingDirectoryParentCountSameDirectoryDotCharacter()
     {
-        String workingDirectory = new File( "/working/directory/maven/release/." ).getAbsolutePath();
-        assertTrue( workingDirectory.contains( "." ) );
-        String basedir = new File( "/working/directory/maven/release" ).getAbsolutePath();
+        Path workingDirectory = Paths.get( "/working/directory/maven/release/." ).toAbsolutePath();
+        assertTrue( workingDirectory.toString().contains( "." ) );
+        Path basedir = Paths.get( "/working/directory/maven/release" ).toAbsolutePath();
         assertEquals( 0, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
 
         // finish with slash
-        workingDirectory = new File( "/working/directory/maven/release/./" ).getAbsolutePath();
-        assertTrue( workingDirectory.contains( "." ) );
-        basedir = new File( "/working/directory/maven/release" ).getAbsolutePath();
+        workingDirectory = Paths.get( "/working/directory/maven/release/./" ).toAbsolutePath();
+        assertTrue( workingDirectory.toString().contains( "." ) );
+        basedir = Paths.get( "/working/directory/maven/release" ).toAbsolutePath();
         assertEquals( 0, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
     }
 
     @Test
     public void testGetBaseWorkingDirectoryParentCountSubdirectory()
     {
-        String workingDirectory = new File( "/working/directory/maven/release" ).getAbsolutePath();
-        String basedir = new File( "/working/directory/maven/release/maven-release-manager" ).getAbsolutePath();
+        Path workingDirectory = Paths.get( "/working/directory/maven/release" ).toAbsolutePath();
+        Path basedir = Paths.get( "/working/directory/maven/release/maven-release-manager" ).toAbsolutePath();
         assertEquals( 0, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
     }
 
     @Test
     public void testGetBaseWorkingDirectoryParentCountParentDirectory()
     {
-        String workingDirectory =
-            new File( "/working/directory/maven/release/maven-release-manager" ).getAbsolutePath();
-        String basedir = new File( "/working/directory/maven/release" ).getAbsolutePath();
+        Path workingDirectory =
+                        Paths.get( "/working/directory/maven/release/maven-release-manager" ).toAbsolutePath();
+        Path basedir = Paths.get( "/working/directory/maven/release" ).toAbsolutePath();
         assertEquals( 1, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
     }
 
     @Test
     public void testGetBaseWorkingDirectoryParentCountParentDirectoryDotCharacter()
     {
-        String workingDirectory =
-            new File( "/working/directory/maven/release/maven-release-manager/." ).getAbsolutePath();
-        assertTrue( workingDirectory.contains( "." ) );
-        String basedir = new File( "/working/directory/maven/release" ).getAbsolutePath();
+        Path workingDirectory =
+            Paths.get( "/working/directory/maven/release/maven-release-manager/." ).toAbsolutePath();
+        assertTrue( workingDirectory.toString().contains( "." ) );
+        Path basedir = Paths.get( "/working/directory/maven/release" ).toAbsolutePath();
         assertEquals( 1, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
 
         // finish with slash
-        workingDirectory = new File( "/working/directory/maven/release/maven-release-manager/./" ).getAbsolutePath();
-        assertTrue( workingDirectory.contains( "." ) );
-        basedir = new File( "/working/directory/maven/release" ).getAbsolutePath();
+        workingDirectory = Paths.get( "/working/directory/maven/release/maven-release-manager/./" ).toAbsolutePath();
+        assertTrue( workingDirectory.toString().contains( "." ) );
+        basedir = Paths.get( "/working/directory/maven/release" ).toAbsolutePath();
         assertEquals( 1, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
     }
 
     @Test
     public void testGetBaseWorkingDirectoryParentCountParentDirectoryMultiple()
     {
-        String workingDirectory =
-            new File( "/working/directory/maven/release/maven-release-manager" ).getAbsolutePath();
-        String basedir = new File( "/working/directory" ).getAbsolutePath();
+        Path workingDirectory =
+            Paths.get( "/working/directory/maven/release/maven-release-manager" ).toAbsolutePath();
+        Path basedir = Paths.get( "/working/directory" ).toAbsolutePath();
         assertEquals( 3, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
     }
 
     @Test
     public void testGetBaseWorkingDirectoryParentCountParentDirectoryMultipleDotCharacter()
     {
-        String workingDirectory =
-            new File( "/working/directory/maven/release/maven-release-manager/./." ).getAbsolutePath();
-        assertTrue( workingDirectory.contains( "." ) );
-        String basedir = new File( "/working/directory" ).getAbsolutePath();
+        Path workingDirectory =
+            Paths.get( "/working/directory/maven/release/maven-release-manager/./." ).toAbsolutePath();
+        assertTrue( workingDirectory.toString().contains( "." ) );
+        Path basedir = Paths.get( "/working/directory" ).toAbsolutePath();
         assertEquals( 3, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
 
         // finish with slash
-        workingDirectory = new File( "/working/directory/maven/release/maven-release-manager/././" ).getAbsolutePath();
-        assertTrue( workingDirectory.contains( "." ) );
-        basedir = new File( "/working/directory" ).getAbsolutePath();
+        workingDirectory = Paths.get( "/working/directory/maven/release/maven-release-manager/././" ).toAbsolutePath();
+        assertTrue( workingDirectory.toString().contains( "." ) );
+        basedir = Paths.get( "/working/directory" ).toAbsolutePath();
         assertEquals( 3, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
     }
 
     @Test
     public void testGetBaseWorkingDirectoryParentCountDifferentCase()
     {
-        String workingDirectory =
-            new File( "/Working/Directory/maven/release/maven-release-manager" ).getAbsolutePath();
-        String basedir = new File( "/working/directory" ).getAbsolutePath();
+        Path workingDirectory =
+            Paths.get( "/Working/Directory/maven/release/maven-release-manager" ).toAbsolutePath();
+        Path basedir = Paths.get( "/working/directory" ).toAbsolutePath();
         assertEquals( 3, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
     }
 
@@ -327,10 +336,10 @@ public class ReleaseUtilTest
     {
         assumeTrue( Os.isFamily( Os.FAMILY_WINDOWS ) );
 
-        assertEquals( 2, ReleaseUtil.getBaseWorkingDirectoryParentCount( "C:", "C:\\working\\directory" ) );
-        assertEquals( 2, ReleaseUtil.getBaseWorkingDirectoryParentCount( "C:", "C:\\working\\directory\\" ) );
-        assertEquals( 2, ReleaseUtil.getBaseWorkingDirectoryParentCount( "C:\\", "C:\\working\\directory" ) );
-        assertEquals( 2, ReleaseUtil.getBaseWorkingDirectoryParentCount( "C:\\", "C:\\working\\directory\\" ) );
+        assertEquals( 2, ReleaseUtil.getBaseWorkingDirectoryParentCount( Paths.get( "C:" ), Paths.get( "C:\\working\\directory" ) ) );
+        assertEquals( 2, ReleaseUtil.getBaseWorkingDirectoryParentCount( Paths.get( "C:" ), Paths.get( "C:\\working\\directory\\" ) ) );
+        assertEquals( 2, ReleaseUtil.getBaseWorkingDirectoryParentCount( Paths.get( "C:\\" ), Paths.get( "C:\\working\\directory" ) ) );
+        assertEquals( 2, ReleaseUtil.getBaseWorkingDirectoryParentCount( Paths.get( "C:\\" ), Paths.get( "C:\\working\\directory\\" ) ) );
     }
 
     private static MavenProject createProject( String basedir )

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

[maven-release] 01/05: Pull up commonBasedir

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 33ca391a8e44f5d881254825ec59fc358ab2fe39
Author: rfscholte <rf...@apache.org>
AuthorDate: Sun Feb 25 21:37:18 2018 +0100

    Pull up commonBasedir
---
 .../release/phase/AbstractRewritePomsPhase.java    | 30 +++++++++++-----------
 1 file changed, 15 insertions(+), 15 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 ac6a682..d068ce4 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
@@ -169,16 +169,27 @@ public abstract class AbstractRewritePomsPhase
                             List<MavenProject> reactorProjects, boolean simulate, ReleaseResult result )
         throws ReleaseExecutionException, ReleaseFailureException
     {
+        String commonBasedir;
+        try
+        {
+            commonBasedir = ReleaseUtil.getCommonBasedir( reactorProjects );
+        }
+        catch ( IOException e )
+        {
+            throw new ReleaseExecutionException( "Exception occurred while calculating common basedir: "
+                + e.getMessage(), e );
+        }
+
         for ( MavenProject project : reactorProjects )
         {
             logInfo( result, "Transforming '" + project.getName() + "'..." );
 
-            transformProject( project, releaseDescriptor, releaseEnvironment, reactorProjects, simulate, result );
+            transformProject( project, releaseDescriptor, releaseEnvironment, commonBasedir, simulate, result );
         }
     }
 
     private void transformProject( MavenProject project, ReleaseDescriptor releaseDescriptor,
-                                   ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects,
+                                   ReleaseEnvironment releaseEnvironment, String commonBasedir,
                                    boolean simulate, ReleaseResult result )
         throws ReleaseExecutionException, ReleaseFailureException
     {
@@ -215,7 +226,7 @@ public abstract class AbstractRewritePomsPhase
             }
         }
 
-        transformDocument( project, etl.getModel(), releaseDescriptor, reactorProjects, scmRepository,
+        transformDocument( project, etl.getModel(), releaseDescriptor, commonBasedir, scmRepository,
                            result, simulate );
 
         File outputFile;
@@ -233,7 +244,7 @@ public abstract class AbstractRewritePomsPhase
     }
 
     private void transformDocument( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
-                                    List<MavenProject> reactorProjects, ScmRepository scmRepository,
+                                    String commonBasedir, ScmRepository scmRepository,
                                     ReleaseResult result, boolean simulate )
         throws ReleaseExecutionException, ReleaseFailureException
     {
@@ -327,17 +338,6 @@ public abstract class AbstractRewritePomsPhase
             }
         }
 
-        String commonBasedir;
-        try
-        {
-            commonBasedir = ReleaseUtil.getCommonBasedir( reactorProjects );
-        }
-        catch ( IOException e )
-        {
-            throw new ReleaseExecutionException( "Exception occurred while calculating common basedir: "
-                + e.getMessage(), e );
-        }
-
         transformScm( project, modelTarget, releaseDescriptor, projectId, scmRepository, result,
                       commonBasedir );
     }

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

[maven-release] 03/05: releaseDescriptor.getOriginalScmInfo( projectId ) is checked twice, so 1 can be removed.

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit c3608eeb26546b7819c1ffbc81fddc358311513c
Author: rfscholte <rf...@apache.org>
AuthorDate: Sat Mar 3 17:13:55 2018 +0100

    releaseDescriptor.getOriginalScmInfo( projectId ) is checked twice, so 1 can be removed.
---
 .../phase/RewritePomsForDevelopmentPhase.java      |  7 -----
 .../phase/RewritePomsForDevelopmentPhaseTest.java  | 30 ----------------------
 2 files changed, 37 deletions(-)

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 cb65866..eb5ff4d 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
@@ -56,13 +56,6 @@ public class RewritePomsForDevelopmentPhase
             Scm scmRoot = modelTarget.getScm();
             if ( scmRoot != null )
             {
-                // check containsKey, not == null, as we store null as a value
-                if ( releaseDescriptor.getOriginalScmInfo( projectId ) == null )
-                {
-                    throw new ReleaseExecutionException(
-                        "Unable to find original SCM info for '" + project.getName() + "'" );
-                }
-
                 ScmTranslator translator = getScmTranslators().get( scmRepository.getProvider() );
                 if ( translator != null )
                 {
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 cea16c5..d8b9330 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
@@ -22,7 +22,6 @@ package org.apache.maven.shared.release.phase;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.io.File;
 import java.io.IOException;
@@ -32,7 +31,6 @@ import java.util.List;
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.model.Scm;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.release.ReleaseExecutionException;
 import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder;
 import org.apache.maven.shared.release.config.ReleaseUtils;
 import org.apache.maven.shared.release.env.DefaultReleaseEnvironment;
@@ -155,34 +153,6 @@ public class RewritePomsForDevelopmentPhaseTest
         assertFalse( testFile.exists() );
     }
 
-    @Test
-    public void testRewriteBasicPomUnmappedScm()
-        throws Exception
-    {
-        List<MavenProject> reactorProjects = prepareReactorProjects( "basic-pom", true );
-
-        ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder() {
-            public ReleaseDescriptorBuilder addOriginalScmInfo(String key, Scm value) {
-                // do nothing
-                return this;
-            };
-        }; 
-        builder = createDescriptorFromProjects( builder, reactorProjects );
-
-        mapNextVersion( builder, "groupId:artifactId" );
-
-        try
-        {
-            phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
-
-            fail( "Expected failure" );
-        }
-        catch ( ReleaseExecutionException e )
-        {
-            verifyReactorProjects( "basic-pom", true );
-        }
-    }
-
     @Override
     protected String readTestProjectFile( String fileName )
         throws IOException

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

[maven-release] 02/05: Move AbstractReleasePhase to maven-release-api

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit a3a0c080a743652ce2f37bab4be16e3191d14309
Author: rfscholte <rf...@apache.org>
AuthorDate: Fri Mar 2 17:04:42 2018 +0100

    Move AbstractReleasePhase to maven-release-api
---
 .../apache/maven/shared/release/phase/AbstractReleasePhase.java    | 7 -------
 .../org/apache/maven/shared/release/phase/MapVersionsPhase.java    | 6 ++++++
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePhase.java b/maven-release-api/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePhase.java
similarity index 90%
rename from maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePhase.java
rename to maven-release-api/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePhase.java
index a533a98..e03ff8b 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePhase.java
+++ b/maven-release-api/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePhase.java
@@ -24,8 +24,6 @@ import org.apache.maven.shared.release.ReleaseResult;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 
 import java.util.List;
-import java.util.Locale;
-import java.util.ResourceBundle;
 
 /**
  * Base class for all phases.
@@ -36,11 +34,6 @@ public abstract class AbstractReleasePhase
     extends AbstractLogEnabled
     implements ReleasePhase
 {
-    protected ResourceBundle getResourceBundle( Locale locale )
-    {
-        return ResourceBundle.getBundle( "release-messages", locale, AbstractReleasePhase.class.getClassLoader() );
-    }
-
     @Override
     public ReleaseResult clean( List<MavenProject> reactorProjects )
     {
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java
index 700f53d..5d1372f 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java
@@ -21,6 +21,7 @@ package org.apache.maven.shared.release.phase;
 
 import java.text.MessageFormat;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.ResourceBundle;
 
@@ -387,4 +388,9 @@ public class MapVersionsPhase
 
         return result;
     }
+    
+    private ResourceBundle getResourceBundle( Locale locale )
+    {
+        return ResourceBundle.getBundle( "release-messages", locale, MapVersionsPhase.class.getClassLoader() );
+    }
 }

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

[maven-release] 05/05: More Path replacements

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 45cd37f5ef610f5f39c73d153c4ed481798e8ee8
Author: rfscholte <rf...@apache.org>
AuthorDate: Sun Mar 4 20:17:31 2018 +0100

    More Path replacements
---
 .../release/phase/CheckoutProjectFromScm.java      | 18 ++++++---------
 .../maven/shared/release/util/ReleaseUtil.java     |  6 -----
 .../shared/release/DefaultReleaseManagerTest.java  |  3 +--
 .../PropertiesReleaseDescriptorStoreTest.java      | 13 +++++------
 .../shared/release/config/ReleaseUtilsTest.java    |  5 ++--
 .../release/phase/AbstractReleaseTestCase.java     |  7 ------
 .../shared/release/phase/ScmBranchPhaseTest.java   | 27 ++++++++--------------
 .../shared/release/phase/ScmTagPhaseTest.java      | 27 ++++++++--------------
 8 files changed, 36 insertions(+), 70 deletions(-)

diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java
index 60f78b8..cbed6ea 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java
@@ -21,6 +21,7 @@ package org.apache.maven.shared.release.phase;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Path;
 import java.util.List;
 
 import org.apache.maven.project.MavenProject;
@@ -221,10 +222,10 @@ public class CheckoutProjectFromScm
         String scmRelativePathProjectDirectory = scmResult.getRelativePathProjectDirectory();
         if ( StringUtils.isEmpty( scmRelativePathProjectDirectory ) )
         {
-            String basedir;
+            Path basedir;
             try
             {
-                basedir = ReleaseUtil.getCommonBasedir( reactorProjects ).toString();
+                basedir = ReleaseUtil.getCommonBasedir( reactorProjects );
             }
             catch ( IOException e )
             {
@@ -232,22 +233,17 @@ public class CheckoutProjectFromScm
                     + e.getMessage(), e );
             }
 
-            String rootProjectBasedir = rootProject.getBasedir().getAbsolutePath();
+            Path rootProjectBasedir;
             try
             {
-                if ( ReleaseUtil.isSymlink( rootProject.getBasedir() ) )
-                {
-                    rootProjectBasedir = rootProject.getBasedir().getCanonicalPath();
-                }
+                rootProjectBasedir = rootProject.getBasedir().toPath().toRealPath();
             }
             catch ( IOException e )
             {
                 throw new ReleaseExecutionException( e.getMessage(), e );
             }
-            if ( rootProjectBasedir.length() > basedir.length() )
-            {
-                scmRelativePathProjectDirectory = rootProjectBasedir.substring( basedir.length() + 1 );
-            }
+
+            scmRelativePathProjectDirectory = basedir.relativize( rootProjectBasedir ).toString();
         }
         releaseDescriptor.setScmRelativePathProjectDirectory( scmRelativePathProjectDirectory );
 
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
index 587a50c..2afd545 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
@@ -243,12 +243,6 @@ public class ReleaseUtil
         return url;
     }
 
-    public static boolean isSymlink( File file )
-        throws IOException
-    {
-        return !file.getAbsolutePath().equals( file.getCanonicalPath() );
-    }
-
     public static String interpolate( String value, Model model )
         throws ReleaseExecutionException
     {
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
index 142d49b..11e7f83 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
@@ -690,9 +690,8 @@ public class DefaultReleaseManagerTest
 
             fail( "commit should have failed" );
         }
-        catch ( ReleaseScmCommandException e )
+        catch ( ReleaseExecutionException e )
         {
-            assertNull( "check no other cause", e.getCause() );
         }
     }
 
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java
index 35903ce..394330e 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java
@@ -21,7 +21,6 @@ import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder.BuilderRe
  * under the License.
  */
 
-import org.apache.maven.shared.release.phase.AbstractReleaseTestCase;
 import org.apache.maven.shared.release.scm.IdentifiedScm;
 import org.codehaus.plexus.PlexusTestCase;
 import org.sonatype.plexus.components.sec.dispatcher.SecDispatcher;
@@ -66,7 +65,7 @@ public class PropertiesReleaseDescriptorStoreTest
         throws Exception
     {
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
-        builder.setWorkingDirectory( AbstractReleaseTestCase.getPath(  getTestFile( "target/test-classes" ) ) );
+        builder.setWorkingDirectory( getTestFile( "target/test-classes" ).getAbsolutePath() );
         ReleaseDescriptor config = store.read( builder ).build();
 
         ReleaseDescriptorBuilder expected = createExpectedReleaseConfiguration();
@@ -145,12 +144,12 @@ public class PropertiesReleaseDescriptorStoreTest
         file.getParentFile().mkdirs();
 
         ReleaseDescriptorBuilder config = createReleaseConfigurationForWriting();
-        config.setWorkingDirectory( AbstractReleaseTestCase.getPath( file.getParentFile() ) );
+        config.setWorkingDirectory( file.getParentFile().getAbsolutePath() );
 
         store.write( config.build() );
 
         ReleaseDescriptorBuilder rereadDescriptorBuilder = store.read( file );
-        rereadDescriptorBuilder.setWorkingDirectory( AbstractReleaseTestCase.getPath( file.getParentFile() ) );
+        rereadDescriptorBuilder.setWorkingDirectory( file.getParentFile().getAbsolutePath() );
 
         assertAndAdjustScmPassword( config, rereadDescriptorBuilder.build() );
         assertAndAdjustScmPrivateKeyPassPhrase( config, rereadDescriptorBuilder.build() );
@@ -258,7 +257,7 @@ public class PropertiesReleaseDescriptorStoreTest
         assertTrue( "Check file already exists", file.exists() );
 
         ReleaseDescriptorBuilder config = createReleaseConfigurationForWriting();
-        config.setWorkingDirectory( AbstractReleaseTestCase.getPath( file.getParentFile() ) );
+        config.setWorkingDirectory( file.getParentFile().getAbsolutePath() );
 
         store.delete( config.build() );
 
@@ -274,7 +273,7 @@ public class PropertiesReleaseDescriptorStoreTest
         assertFalse( "Check file already exists", file.exists() );
 
         ReleaseDescriptorBuilder config = createReleaseConfigurationForWriting();
-        config.setWorkingDirectory( AbstractReleaseTestCase.getPath( file.getParentFile() ) );
+        config.setWorkingDirectory( file.getParentFile().getAbsolutePath() );
 
         store.delete( config.build() );
 
@@ -359,7 +358,7 @@ public class PropertiesReleaseDescriptorStoreTest
         releaseDescriptor.setScmSourceUrl( "scm-url" );
         releaseDescriptor.setScmUsername( "username" );
         // Not setting other optional SCM settings for brevity
-        releaseDescriptor.setWorkingDirectory( AbstractReleaseTestCase.getPath( getTestFile( "target/test-working-directory" ) ) );
+        releaseDescriptor.setWorkingDirectory( getTestFile( "target/test-working-directory" ).getAbsolutePath() );
         // Not setting non-override setting completedPhase
 
         return releaseDescriptor;
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseUtilsTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseUtilsTest.java
index 4cff313..a8212da 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseUtilsTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseUtilsTest.java
@@ -24,7 +24,6 @@ import junit.framework.TestCase;
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.model.Scm;
 import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder.BuilderReleaseDescriptor;
-import org.apache.maven.shared.release.phase.AbstractReleaseTestCase;
 
 import java.io.File;
 import java.io.IOException;
@@ -134,7 +133,7 @@ public class ReleaseUtilsTest
 
         if ( otherFile != null )
         {
-            configBuilder.setWorkingDirectory( AbstractReleaseTestCase.getPath( otherFile ) );
+            configBuilder.setWorkingDirectory( otherFile.getAbsolutePath() );
             assertFalse( "Check original comparison", configBuilder.build().equals( origConfig ) );
         }
 
@@ -265,7 +264,7 @@ public class ReleaseUtilsTest
     {
         File workingDirectory = new File( "." );
 
-        return createReleaseDescriptor(AbstractReleaseTestCase.getPath( workingDirectory ) );
+        return createReleaseDescriptor( workingDirectory.getAbsolutePath() );
     }
 
     private static ReleaseDescriptorBuilder createReleaseDescriptor( String workingDirectory )
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java
index 96eadcd..ed9cfd1 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java
@@ -58,7 +58,6 @@ import org.apache.maven.project.ProjectSorter;
 import org.apache.maven.repository.internal.MavenRepositorySystemSession;
 import org.apache.maven.shared.release.PlexusJUnit4TestCase;
 import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder;
-import org.apache.maven.shared.release.util.ReleaseUtil;
 import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
 import org.sonatype.aether.repository.WorkspaceReader;
 import org.sonatype.aether.repository.WorkspaceRepository;
@@ -336,12 +335,6 @@ public abstract class AbstractReleaseTestCase
         return "file://" + getTestFile( "src/test/remote-repository" ).getCanonicalPath().replace( '\\', '/' );
     }
 
-    public static String getPath( File file )
-        throws IOException
-    {
-        return ReleaseUtil.isSymlink( file ) ? file.getCanonicalPath() : file.getAbsolutePath();
-    }
-
     /**
      * WorkspaceReader to find versions and artifacts from reactor
      */
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmBranchPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmBranchPhaseTest.java
index 9136cb2..505b963 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmBranchPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmBranchPhaseTest.java
@@ -31,7 +31,6 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import java.io.File;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
@@ -78,12 +77,6 @@ public class ScmBranchPhaseTest
         phase = lookup( ReleasePhase.class, "scm-branch" );
     }
 
-    public static String getPath( File file )
-        throws IOException
-    {
-        return ReleaseUtil.isSymlink( file ) ? file.getCanonicalPath() : file.getAbsolutePath();
-    }
-
     @Test
     public void testBranch()
         throws Exception
@@ -93,7 +86,7 @@ public class ScmBranchPhaseTest
         List<MavenProject> reactorProjects = createReactorProjects();
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
-        builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -103,7 +96,7 @@ public class ScmBranchPhaseTest
         when( scmProviderMock.branch( isA( ScmRepository.class ), argThat( new IsScmFileSetEquals( fileSet ) ),
                                       eq( "release-label" ),
                                       argThat( new IsScmBranchParametersEquals( new ScmBranchParameters( "[my prefix] copy for branch release-label" ) ) ) ) ).thenReturn( new BranchScmResult( "...",
-                                                                                                                                                                                                Collections.singletonList( new ScmFile( getPath( rootProject.getFile() ),
+                                                                                                                                                                                                Collections.singletonList( new ScmFile( rootProject.getFile().getAbsolutePath(),
                                                                                                                                                                                                                                         ScmFileStatus.TAGGED ) ) ) );
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.class );
         stub.setScmProvider( scmProviderMock );
@@ -131,7 +124,7 @@ public class ScmBranchPhaseTest
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
         builder.setScmSourceUrl( scmUrl );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
-        builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
         builder.setScmBranchBase( "http://svn.example.com/repos/project/branches/" );
@@ -145,7 +138,7 @@ public class ScmBranchPhaseTest
         when( scmProviderMock.branch( eq( repository ), argThat( new IsScmFileSetEquals( fileSet ) ),
                                       eq( "release-label" ),
                                       argThat( new IsScmBranchParametersEquals( new ScmBranchParameters( "[my prefix] copy for branch release-label" ) ) ) ) ).thenReturn( new BranchScmResult( "...",
-                                                                                                                                                                                                Collections.singletonList( new ScmFile( getPath( rootProject.getFile() ),
+                                                                                                                                                                                                Collections.singletonList( new ScmFile( rootProject.getFile().getAbsolutePath(),
                                                                                                                                                                                                                                         ScmFileStatus.TAGGED ) ) ) );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.class );
@@ -172,7 +165,7 @@ public class ScmBranchPhaseTest
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
         builder.setScmSourceUrl( rootProject.getScm().getConnection() );
-        builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -186,7 +179,7 @@ public class ScmBranchPhaseTest
         when( scmProviderMock.branch( eq( repository ), argThat( new IsScmFileSetEquals( fileSet ) ),
                                       eq( "release-label" ),
                                       argThat( new IsScmBranchParametersEquals( new ScmBranchParameters( "[my prefix] copy for branch release-label" ) ) ) ) ).thenReturn( new BranchScmResult( "...",
-                                                                                                                                                                                                Collections.singletonList( new ScmFile( getPath( rootProject.getFile() ),
+                                                                                                                                                                                                Collections.singletonList( new ScmFile( rootProject.getFile().getAbsolutePath(),
                                                                                                                                                                                                                                         ScmFileStatus.TAGGED ) ) ) );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.class );
@@ -213,7 +206,7 @@ public class ScmBranchPhaseTest
         List<MavenProject> reactorProjects = createReactorProjects( dir, dir, null );
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
-        builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -223,7 +216,7 @@ public class ScmBranchPhaseTest
         when( scmProviderMock.branch( isA( ScmRepository.class ), argThat( new IsScmFileSetEquals( fileSet ) ),
                                       eq( "release-label" ),
                                       argThat( new IsScmBranchParametersEquals( new ScmBranchParameters( "[my prefix] copy for branch release-label" ) ) ) ) ).thenReturn( new BranchScmResult( "...",
-                                                                                                                                                                                                Collections.singletonList( new ScmFile( getPath( rootProject.getFile() ),
+                                                                                                                                                                                                Collections.singletonList( new ScmFile( rootProject.getFile().getAbsolutePath(),
                                                                                                                                                                                                                                         ScmFileStatus.TAGGED ) ) ) );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.class );
@@ -265,7 +258,7 @@ public class ScmBranchPhaseTest
         List<MavenProject> reactorProjects = createReactorProjects();
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
-        builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
         builder.setScmReleaseLabel( "release-label" );
 
         ScmProvider scmProviderMock = mock( ScmProvider.class );
@@ -421,7 +414,7 @@ public class ScmBranchPhaseTest
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
         builder.setScmSourceUrl( "scm-url" );
         builder.setScmReleaseLabel( "release-label" );
-        builder.setWorkingDirectory( getPath( getTestFile( "target/test/checkout" ) ) );
+        builder.setWorkingDirectory( getTestFile( "target/test/checkout" ).getAbsolutePath() );
         return builder;
     }
 }
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmTagPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmTagPhaseTest.java
index 1ac428b..c9ab753 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmTagPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmTagPhaseTest.java
@@ -31,7 +31,6 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import java.io.File;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
@@ -78,12 +77,6 @@ public class ScmTagPhaseTest
         phase = (ReleasePhase) lookup( ReleasePhase.class, "scm-tag" );
     }
 
-    public static String getPath( File file )
-        throws IOException
-    {
-        return ReleaseUtil.isSymlink( file ) ? file.getCanonicalPath() : file.getAbsolutePath();
-    }
-
     @Test
     public void testTag()
         throws Exception
@@ -93,7 +86,7 @@ public class ScmTagPhaseTest
         List<MavenProject> reactorProjects = createReactorProjects();
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
-        builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -103,7 +96,7 @@ public class ScmTagPhaseTest
         when( scmProviderMock.tag( isA( ScmRepository.class ), argThat( new IsScmFileSetEquals( fileSet ) ),
                                    eq( "release-label" ),
                                    argThat( new IsScmTagParametersEquals( new ScmTagParameters( "[my prefix] copy for tag release-label" ) ) ) ) ).thenReturn( new TagScmResult( "...",
-                                                                                                                                                                                 Collections.singletonList( new ScmFile( getPath( rootProject.getFile() ),
+                                                                                                                                                                                 Collections.singletonList( new ScmFile( rootProject.getFile().getAbsolutePath(),
                                                                                                                                                                                                                          ScmFileStatus.TAGGED ) ) ) );
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.class );
         stub.setScmProvider( scmProviderMock );
@@ -130,7 +123,7 @@ public class ScmTagPhaseTest
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
         builder.setScmSourceUrl( scmUrl );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
-        builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
         builder.setScmTagBase( "http://svn.example.com/repos/project/releases/" );
@@ -144,7 +137,7 @@ public class ScmTagPhaseTest
         when( scmProviderMock.tag( eq( repository ), argThat( new IsScmFileSetEquals( fileSet ) ),
                                    eq( "release-label" ),
                                    argThat( new IsScmTagParametersEquals( new ScmTagParameters( "[my prefix] copy for tag release-label" ) ) ) ) ).thenReturn( new TagScmResult( "...",
-                                                                                                                                                                                 Collections.singletonList( new ScmFile( getPath( rootProject.getFile() ),
+                                                                                                                                                                                 Collections.singletonList( new ScmFile( rootProject.getFile().getAbsolutePath(),
                                                                                                                                                                                                                          ScmFileStatus.TAGGED ) ) ) );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.class );
@@ -171,7 +164,7 @@ public class ScmTagPhaseTest
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
         builder.setScmSourceUrl( rootProject.getScm().getConnection() );
-        builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -185,7 +178,7 @@ public class ScmTagPhaseTest
         when( scmProviderMock.tag( eq( repository ), argThat( new IsScmFileSetEquals( fileSet ) ),
                                    eq( "release-label" ),
                                    argThat( new IsScmTagParametersEquals( new ScmTagParameters( "[my prefix] copy for tag release-label" ) ) ) ) ).thenReturn( new TagScmResult( "...",
-                                                                                                                                                                                 Collections.singletonList( new ScmFile( getPath( rootProject.getFile() ),
+                                                                                                                                                                                 Collections.singletonList( new ScmFile( rootProject.getFile().getAbsolutePath(),
                                                                                                                                                                                                                          ScmFileStatus.TAGGED ) ) ) );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.class );
@@ -212,7 +205,7 @@ public class ScmTagPhaseTest
         List<MavenProject> reactorProjects = createReactorProjects( dir, dir, null );
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
-        builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -222,7 +215,7 @@ public class ScmTagPhaseTest
         when( scmProviderMock.tag( isA( ScmRepository.class ), argThat( new IsScmFileSetEquals( fileSet ) ),
                                    eq( "release-label" ),
                                    argThat( new IsScmTagParametersEquals( new ScmTagParameters( "[my prefix] copy for tag release-label" ) ) ) ) ).thenReturn( new TagScmResult( "...",
-                                                                                                                                                                                 Collections.singletonList( new ScmFile( getPath( rootProject.getFile() ),
+                                                                                                                                                                                 Collections.singletonList( new ScmFile( rootProject.getFile().getAbsolutePath(),
                                                                                                                                                                                                                          ScmFileStatus.TAGGED ) ) ) );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.class );
@@ -264,7 +257,7 @@ public class ScmTagPhaseTest
         List<MavenProject> reactorProjects = createReactorProjects();
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
-        builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
         builder.setScmReleaseLabel( "release-label" );
 
         ScmProvider scmProviderMock = mock( ScmProvider.class );
@@ -418,7 +411,7 @@ public class ScmTagPhaseTest
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
         builder.setScmSourceUrl( "scm-url" );
         builder.setScmReleaseLabel( "release-label" );
-        builder.setWorkingDirectory( getPath( getTestFile( "target/test/checkout" ) ) );
+        builder.setWorkingDirectory( getTestFile( "target/test/checkout" ).getAbsolutePath() );
         return builder;
     }
 }

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