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/24 16:05:35 UTC

[maven-release] 01/01: [MRELEASE-1007] Rework usage workingDirectory and commonBasedir

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

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

commit 9ea29a796d0e6191bebdf9accf4338fde541195d
Author: rfscholte <rf...@apache.org>
AuthorDate: Sat Mar 24 17:05:25 2018 +0100

    [MRELEASE-1007] Rework usage workingDirectory and commonBasedir
---
 .../release/phase/AbstractRunGoalsPhase.java       |  22 +++-
 .../maven/shared/release/util/ReleaseUtil.java     |  34 +----
 .../shared/release/phase/ScmBranchPhaseTest.java   |   8 +-
 .../shared/release/phase/ScmTagPhaseTest.java      |  16 ++-
 .../maven/shared/release/util/ReleaseUtilTest.java | 143 +--------------------
 .../maven/plugins/release/AbstractReleaseMojo.java |  46 ++++++-
 .../plugins/release/PerformReleaseMojoTest.java    |   2 +
 .../plugins/release/PrepareReleaseMojoTest.java    |   3 +
 .../plugins/release/StageReleaseMojoTest.java      |   1 +
 .../stubs/FlatMultiModuleMavenProjectStub.java     |   2 +-
 10 files changed, 97 insertions(+), 180 deletions(-)

diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java
index 7f43212..214f86b 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java
@@ -66,11 +66,23 @@ public abstract class AbstractRunGoalsPhase
                         "Cannot find Maven executor with id: " + releaseEnvironment.getMavenExecutorId() );
                 }
 
-                File wd =
-                    determineWorkingDirectory( workingDirectory,
-                                               releaseDescriptor.getScmRelativePathProjectDirectory() );
-                mavenExecutor.executeGoals( wd, goals, releaseEnvironment, releaseDescriptor.isInteractive(),
-                                            additionalArguments, releaseDescriptor.getPomFileName(), result );
+                File executionRoot;
+                String pomFileName;
+                if ( releaseDescriptor.getPomFileName() != null )
+                {
+                    File rootPom = new File( workingDirectory, releaseDescriptor.getPomFileName() );
+                    executionRoot = rootPom.getParentFile();
+                    pomFileName = rootPom.getName();
+                }
+                else
+                {
+                    executionRoot = workingDirectory;
+                    pomFileName = null;
+                }
+                
+                mavenExecutor.executeGoals( executionRoot, goals, releaseEnvironment,
+                                            releaseDescriptor.isInteractive(), additionalArguments,
+                                            pomFileName, result );
             }
         }
         catch ( MavenExecutorException e )
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 4567f5d..7b64f20 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
@@ -167,48 +167,18 @@ public class ReleaseUtil
                                                                            List<MavenProject> reactorProjects )
         throws ReleaseExecutionException
     {
-        Path basedir;
-        try
-        {
-            basedir = getCommonBasedir( reactorProjects );
-        }
-        catch ( IOException e )
-        {
-            throw new ReleaseExecutionException( "Exception occurred while calculating common basedir: "
-                + e.getMessage(), e );
-        }
-
-        int parentLevels =
-            getBaseWorkingDirectoryParentCount( basedir, Paths.get( releaseDescriptor.getWorkingDirectory() ) );
+        int parentLevels = Paths.get( releaseDescriptor.getPomFileName() ).getNameCount() - 1;
 
         String url = releaseDescriptor.getScmSourceUrl();
         url = realignScmUrl( parentLevels, url );
 
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
-        builder.setWorkingDirectory( basedir.toString() );
+        builder.setWorkingDirectory( releaseDescriptor.getWorkingDirectory() );
         builder.setScmSourceUrl( url );
 
         return ReleaseUtils.buildReleaseDescriptor( builder );
     }
 
-    static Path getCommonBasedir( List<MavenProject> reactorProjects )
-        throws IOException
-    {
-        Path basePath = reactorProjects.get( 0 ).getBasedir().toPath();
-        
-        for ( MavenProject reactorProject : reactorProjects )
-        {
-            Path matchPath = reactorProject.getBasedir().toPath();
-            while ( !basePath.startsWith( matchPath ) )
-            {
-                matchPath = matchPath.getParent();
-            }
-            basePath = matchPath;
-        }
-        
-        return basePath;
-    }
-
     public static int getBaseWorkingDirectoryParentCount( final Path baseDirectory, final Path workingDirectory )
     {
         return Math.max( 0, workingDirectory.normalize().getNameCount() - baseDirectory.normalize().getNameCount() );
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 16be5f8..9cf71bf 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
@@ -95,6 +95,7 @@ public class ScmBranchPhaseTest
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
         builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setPomFileName( "pom.xml" );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -133,6 +134,7 @@ public class ScmBranchPhaseTest
         builder.setScmSourceUrl( scmUrl );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
         builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setPomFileName( "pom.xml" );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
         builder.setScmBranchBase( "http://svn.example.com/repos/project/branches/" );
@@ -173,7 +175,8 @@ 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( getWorkingDirectory( "rewrite-for-release/pom-with-parent-flat" ).toRealPath( LinkOption.NOFOLLOW_LINKS ).toString() );
+        builder.setPomFileName( "root-project/pom.xml" );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -215,6 +218,7 @@ public class ScmBranchPhaseTest
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
         builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setPomFileName( "pom.xml" );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -267,6 +271,7 @@ public class ScmBranchPhaseTest
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
         builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setPomFileName( "pom.xml" );
         builder.setScmReleaseLabel( "release-label" );
 
         ScmProvider scmProviderMock = mock( ScmProvider.class );
@@ -431,6 +436,7 @@ public class ScmBranchPhaseTest
         }
         
         builder.setWorkingDirectory( getPath( workingDir ) );
+        builder.setPomFileName( "pom.xml" );
         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 2dcfb27..10b8979 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
@@ -34,6 +34,7 @@ import static org.mockito.Mockito.when;
 import java.io.File;
 import java.io.IOException;
 import java.nio.file.LinkOption;
+import java.nio.file.Paths;
 import java.util.Collections;
 import java.util.List;
 
@@ -84,6 +85,13 @@ public class ScmTagPhaseTest
     {
         return file.toPath().toRealPath( LinkOption.NOFOLLOW_LINKS ).toString();
     }
+    
+    public static String getPath( String file )
+                    throws IOException
+    {
+        return Paths.get( file ).toRealPath( LinkOption.NOFOLLOW_LINKS ).toString();
+    }
+
 
     @Test
     public void testTag()
@@ -95,6 +103,7 @@ public class ScmTagPhaseTest
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
         builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setPomFileName( rootProject.getFile().getName() );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -132,6 +141,7 @@ public class ScmTagPhaseTest
         builder.setScmSourceUrl( scmUrl );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
         builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setPomFileName( rootProject.getFile().getName() );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
         builder.setScmTagBase( "http://svn.example.com/repos/project/releases/" );
@@ -172,7 +182,8 @@ 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( getWorkingDirectory( "rewrite-for-release/pom-with-parent-flat" ).toRealPath( LinkOption.NOFOLLOW_LINKS ).toString() );
+        builder.setPomFileName( "root-project/pom.xml" );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -214,6 +225,7 @@ public class ScmTagPhaseTest
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
         builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setPomFileName( rootProject.getFile().getName() );
         builder.setScmReleaseLabel( "release-label" );
         builder.setScmCommentPrefix( "[my prefix] " );
 
@@ -266,6 +278,7 @@ public class ScmTagPhaseTest
         builder.setScmSourceUrl( "scm-url" );
         MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
         builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) );
+        builder.setPomFileName( rootProject.getFile().getName() );
         builder.setScmReleaseLabel( "release-label" );
 
         ScmProvider scmProviderMock = mock( ScmProvider.class );
@@ -426,6 +439,7 @@ public class ScmTagPhaseTest
                         workingDir.mkdirs() );
         }
         builder.setWorkingDirectory( getPath( workingDir ) );
+        builder.setPomFileName( "pom.xml" );
         return builder;
     }
 }
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 14c3b16..d3377ae 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
@@ -27,8 +27,6 @@ import static org.junit.Assume.assumeTrue;
 import java.io.File;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.util.Arrays;
-import java.util.Collections;
 
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.Os;
@@ -50,137 +48,6 @@ public class ReleaseUtilTest
     }
 
     @Test
-    public void testGetCommonBasedirSingleProject() throws Exception
-    {
-        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
-    {
-        assumeTrue( Os.isFamily( Os.FAMILY_WINDOWS ) ); 
-
-        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( Paths.get( "/working/directory/flat-multi-module" ),
-                      ReleaseUtil.getCommonBasedir( Arrays.asList( 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
-    {
-        assumeTrue( Os.isFamily( Os.FAMILY_WINDOWS ) ); 
-
-        assertEquals( Paths.get( "C:\\working\\directory\\flat-multi-module" ),
-                      ReleaseUtil.getCommonBasedir( Arrays.asList( 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
-    {
-        assumeTrue( Os.isFamily( Os.FAMILY_WINDOWS ) ); 
-
-        assertEquals( Paths.get( "C:\\WORKING\\root" ),
-                      ReleaseUtil.getCommonBasedir( Arrays.asList( 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( Paths.get( "/working/directory/flat-multi-module" ),
-                      ReleaseUtil.getCommonBasedir( Arrays.asList( 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
-    {
-        assumeTrue( Os.isFamily( Os.FAMILY_WINDOWS ) ); 
-
-        assertEquals( Paths.get( "c:\\working\\directory\\flat-multi-module" ),
-                      ReleaseUtil.getCommonBasedir( Arrays.asList( 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( Paths.get( "/working/directory/flat-multi-module" ),
-                      ReleaseUtil.getCommonBasedir( Arrays.asList( 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( Paths.get( "/working/directory/flat-multi-module" ),
-                      ReleaseUtil.getCommonBasedir( Arrays.asList( 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
-    {
-        assumeTrue( Os.isFamily( Os.FAMILY_WINDOWS ) ); 
-
-        assertEquals( Paths.get( "c:\\working\\directory\\flat-multi-module" ),
-                      ReleaseUtil.getCommonBasedir( Arrays.asList( 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( Paths.get( "/working/directory/flat-multi-module" ),
-                      ReleaseUtil.getCommonBasedir( Arrays.asList( 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( Paths.get( "/working/directory/flat-multi-module" ),
-                      ReleaseUtil.getCommonBasedir( Arrays.asList( 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
     public void testGetBaseScmUrlSingleLevel()
         throws Exception
     {
@@ -359,7 +226,7 @@ public class ReleaseUtilTest
 
     private static MavenProject createProject( String basedir )
     {
-    	return createProject( basedir, basedir );
+        return createProject( basedir, basedir );
     }
 
     private static MavenProject createProject( final String basedirPath, final String basedirCanonicalPath )
@@ -371,11 +238,11 @@ public class ReleaseUtilTest
             {
                 return new File( basedirPath )
                 {
-                	@Override
+                    @Override
                     public String getCanonicalPath()
-                	{
-                		return basedirCanonicalPath;
-                	}
+                    {
+                        return basedirCanonicalPath;
+                    }
                 };
             }
         };
diff --git a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java
index 7dda662..fb46c95 100644
--- a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java
+++ b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java
@@ -20,6 +20,8 @@ package org.apache.maven.plugins.release;
  */
 
 import java.io.File;
+import java.io.IOException;
+import java.nio.file.Path;
 import java.util.Iterator;
 import java.util.List;
 
@@ -156,9 +158,26 @@ public abstract class AbstractReleaseMojo
         
         descriptor.setInteractive( settings.isInteractiveMode() );
 
-        descriptor.setWorkingDirectory( basedir.getAbsolutePath() );
+        Path workingDirectory;
+        try
+        {
+            workingDirectory = getCommonBasedir( reactorProjects );
+        }
+        catch ( IOException e )
+        {
+            throw new RuntimeException( e.getMessage() );
+        }
+        descriptor.setWorkingDirectory( workingDirectory.toFile().getAbsolutePath() );
 
-        descriptor.setPomFileName( pomFileName );
+        Path rootBasedir = basedir.toPath();
+        if ( rootBasedir.equals( workingDirectory ) )
+        {
+            descriptor.setPomFileName( pomFileName );
+        }
+        else
+        {
+            descriptor.setPomFileName( workingDirectory.relativize( rootBasedir ).resolve( pomFileName ).toString() );
+        }
 
         for ( MavenProject project : reactorProjects )
         {
@@ -251,6 +270,11 @@ public abstract class AbstractReleaseMojo
         this.basedir = basedir;
     }
 
+    public void setPomFileName( String pomFileName )
+    {
+        this.pomFileName = pomFileName;
+    }
+    
     /**
      * Gets the list of projects in the build reactor.
      *
@@ -277,4 +301,22 @@ public abstract class AbstractReleaseMojo
             arguments = argument;
         }
     }
+    
+    static Path getCommonBasedir( List<MavenProject> reactorProjects )
+                    throws IOException
+    {
+        Path basePath = reactorProjects.get( 0 ).getBasedir().toPath();
+        
+        for ( MavenProject reactorProject : reactorProjects )
+        {
+            Path matchPath = reactorProject.getBasedir().toPath();
+            while ( !basePath.startsWith( matchPath ) )
+            {
+                matchPath = matchPath.getParent();
+            }
+            basePath = matchPath;
+        }
+        
+        return basePath;
+    }
 }
diff --git a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java
index 16fc026..c423c40 100644
--- a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java
+++ b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java
@@ -117,6 +117,7 @@ public class PerformReleaseMojoTest
         PerformReleaseMojo mojo =
             (PerformReleaseMojo) lookupMojo( "perform", new File( testFileDirectory, "perform-without-site.xml" ) );
         mojo.setBasedir( testFileDirectory );
+        mojo.setPomFileName( "pom.xml" );
         
         MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
         setVariableValueToObject( mojo, "session", newMavenSession( project ) );
@@ -148,6 +149,7 @@ public class PerformReleaseMojoTest
     {
         PerformReleaseMojo mojo = (PerformReleaseMojo) lookupMojo( "perform", new File( workingDirectory, fileName ) );
         mojo.setBasedir( workingDirectory );
+        mojo.setPomFileName( fileName );
 
         MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
         DistributionManagement distributionManagement = new DistributionManagement();
diff --git a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java
index 876044b..8c1b397 100644
--- a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java
+++ b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java
@@ -70,6 +70,7 @@ public class PrepareReleaseMojoTest
         final PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile );
         setDefaults( mojo );
         mojo.setBasedir( testFile.getParentFile() );
+        mojo.setPomFileName( "pom.xml" );
         mojo.session = new MavenSession( null, null, null, null, null, null, null, null, null )
         {
             public Properties getExecutionProperties()
@@ -114,6 +115,7 @@ public class PrepareReleaseMojoTest
         final PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile );
         setDefaults( mojo );
         mojo.setBasedir( testFile.getParentFile() );
+        mojo.setPomFileName( "pom.xml" );
         mojo.session = new MavenSession( null, null, null, null, null, null, null, null, null )
         {
           public Properties getExecutionProperties(){
@@ -155,6 +157,7 @@ public class PrepareReleaseMojoTest
         final PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile );
         setDefaults( mojo );
         mojo.setBasedir( testFile.getParentFile() );
+        mojo.setPomFileName( "pom.xml" );
         mojo.session = new MavenSession( null, null, null, null, null, null, null, null, null )
         {
           public Properties getExecutionProperties(){
diff --git a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/StageReleaseMojoTest.java b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/StageReleaseMojoTest.java
index b88eb24..a4c6ebb 100644
--- a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/StageReleaseMojoTest.java
+++ b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/StageReleaseMojoTest.java
@@ -93,6 +93,7 @@ public class StageReleaseMojoTest
     {
         StageReleaseMojo mojo = (StageReleaseMojo) lookupMojo( "stage", new File( workingDirectory, fileName ) );
         mojo.setBasedir( workingDirectory );
+        mojo.setPomFileName( "pom.xml" );
         
         MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
         DistributionManagement distributionManagement = new DistributionManagement();
diff --git a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/stubs/FlatMultiModuleMavenProjectStub.java b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/stubs/FlatMultiModuleMavenProjectStub.java
index 7617d41..03b8cd4 100644
--- a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/stubs/FlatMultiModuleMavenProjectStub.java
+++ b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/stubs/FlatMultiModuleMavenProjectStub.java
@@ -72,7 +72,7 @@ public class FlatMultiModuleMavenProjectStub
     
     public File getBasedir()
     {
-        return new File( "/flat-multi-module/root-project" );
+        return new File( "/flat-multi-module/root-project" ).getAbsoluteFile();
     }
     
     public Scm getScm()

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