Pom file should be resolved by ReleaseDescriptor, not by MavenProject
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java
index 65a63ab..f1c0526 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java
@@ -29,16 +29,16 @@
{
private final String backupSuffix = ".releaseBackup";
- protected File getPomBackup( String pomLocation )
+ protected File getPomBackup( File workingDirectory, String pomLocation )
{
- return new File( pomLocation + backupSuffix );
+ return new File( workingDirectory, pomLocation + backupSuffix );
}
- protected void deletePomBackup( String pomLocation )
+ protected void deletePomBackup( File workingDirectory, String pomLocation )
{
- File pomBackup = getPomBackup( pomLocation );
+ File pomBackup = getPomBackup( workingDirectory, pomLocation );
- if ( pomBackup != null && pomBackup.exists() )
+ if ( pomBackup.exists() )
{
pomBackup.delete();
}
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 e60d1c7..6a99c8a 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
@@ -146,11 +146,14 @@
{
for ( MavenProject project : reactorProjects )
{
- File pomFile = ReleaseUtil.getStandardPom( project );
+ String projectKey = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
+
+ String pomLocation = releaseDescriptor.getProjectPomFile( projectKey );
+
// MRELEASE-273 : if no pom
- if ( pomFile != null )
+ if ( pomLocation != null )
{
- File file = new File( pomFile.getParentFile(), pomFile.getName() + "." + getPomSuffix() );
+ File file = new File( releaseDescriptor.getWorkingDirectory(), pomLocation + "." + getPomSuffix() );
if ( file.exists() )
{
file.delete();
@@ -181,7 +184,11 @@
ReleaseResult result )
throws ReleaseExecutionException, ReleaseFailureException
{
- File pomFile = ReleaseUtil.getStandardPom( project );
+ String projectKey = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
+
+ String pomLocation = releaseDescriptor.getProjectPomFile( projectKey );
+
+ File pomFile = new File( releaseDescriptor.getWorkingDirectory(), pomLocation );
ModelETLRequest request = new ModelETLRequest();
request.setLineSeparator( ls );
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhase.java
index b36d692..0605fef 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhase.java
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.project.MavenProject;
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
@@ -198,7 +199,11 @@
{
List<File> pomFiles = new ArrayList<>();
- pomFiles.add( ReleaseUtil.getStandardPom( project ) );
+ String projectKey = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
+
+ String pomLocation = releaseDescriptor.getProjectPomFile( projectKey );
+
+ pomFiles.add( new File( pomLocation ) );
if ( releaseDescriptor.isGenerateReleasePoms() && !releaseDescriptor.isSuppressCommitBeforeTagOrBranch() )
{
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java
index 1b22db1..26e3a92 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java
@@ -19,6 +19,7 @@
* under the License.
*/
+import java.io.File;
import java.io.IOException;
import java.util.List;
@@ -29,7 +30,6 @@
import org.apache.maven.shared.release.ReleaseResult;
import org.apache.maven.shared.release.config.ReleaseDescriptor;
import org.apache.maven.shared.release.env.ReleaseEnvironment;
-import org.apache.maven.shared.release.util.ReleaseUtil;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.util.FileUtils;
@@ -65,11 +65,13 @@
{
ReleaseResult result = new ReleaseResult();
+ File workingDirectory = new File( releaseDescriptor.getWorkingDirectory() );
+
for ( MavenProject project : reactorProjects )
{
String versionlessKey = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
- deletePomBackup( releaseDescriptor.getProjectPomFile( versionlessKey ) );
+ deletePomBackup( workingDirectory, releaseDescriptor.getProjectPomFile( versionlessKey ) );
}
result.setResultCode( ReleaseResult.SUCCESS );
@@ -91,13 +93,16 @@
String projectKey = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
String pomLocation = releaseDescriptor.getProjectPomFile( projectKey );
-
+
+ File workingDirectory = new File( releaseDescriptor.getWorkingDirectory() );
+
// delete any existing backup first
- deletePomBackup( pomLocation );
+ deletePomBackup( workingDirectory, pomLocation );
try
{
- FileUtils.copyFile( ReleaseUtil.getStandardPom( project ), getPomBackup( pomLocation ) );
+ FileUtils.copyFile( new File( workingDirectory, pomLocation ),
+ getPomBackup( workingDirectory, pomLocation ) );
}
catch ( IOException e )
{
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java
index 76c0750..6e19493 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java
@@ -88,9 +88,11 @@
{
String projectKey = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
+ File workingDirectory = new File( releaseDescriptor.getWorkingDirectory() );
+
String pomLocation = releaseDescriptor.getProjectPomFile( projectKey );
- File pomBackup = getPomBackup( pomLocation );
+ File pomBackup = getPomBackup( workingDirectory, pomLocation );
if ( !pomBackup.exists() )
{
@@ -137,7 +139,8 @@
try
{
- FileUtils.copyFile( getPomBackup( pomLocation ), new File( pomLocation ) );
+ FileUtils.copyFile( getPomBackup( workingDirectory, pomLocation ),
+ new File( workingDirectory, pomLocation ) );
}
catch ( IOException e )
{
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhaseTest.java
index c717a7b..b656565 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhaseTest.java
@@ -31,6 +31,8 @@
import org.codehaus.plexus.util.ReaderFactory;
import java.io.File;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
@@ -63,7 +65,9 @@
{
List<MavenProject> reactorProjects = new ArrayList<>();
- File pomFile = new File( projectPath, pomFilename );
+ File workingDirectory = getTestFile( projectPath );
+
+ File pomFile = new File( workingDirectory, pomFilename );
MavenProject mainProject = createMavenProject( pomFile );
@@ -71,7 +75,7 @@
for ( String module : mainProject.getModel().getModules() )
{
- File modulePom = new File( projectPath + "/" + module, pomFilename );
+ File modulePom = new File( projectPath + "/" + module, pomFilename ).getAbsoluteFile();
MavenProject subproject = createMavenProject( modulePom );
@@ -95,17 +99,21 @@
return project;
}
- protected ReleaseDescriptorBuilder createReleaseDescriptorBuilder( List<MavenProject> reactorProjects )
+ protected ReleaseDescriptorBuilder createReleaseDescriptorBuilder( List<MavenProject> reactorProjects,
+ String workingDirectory )
{
+ Path workingPath = Paths.get( workingDirectory ).toAbsolutePath();
+
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+ builder.setWorkingDirectory( workingPath.toString() );
for ( MavenProject reactorProject : reactorProjects )
{
String projectKey =
ArtifactUtils.versionlessKey( reactorProject.getGroupId(), reactorProject.getArtifactId() );
- // would normally be relative to workingdirectory
- builder.addProjectPomFile( projectKey, reactorProject.getFile().getAbsolutePath() );
+ Path pomPath = reactorProject.getFile().toPath();
+ builder.addProjectPomFile( projectKey, workingPath.relativize( pomPath ).toString() );
}
return builder;
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 2ddee24..ef7713d 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
@@ -114,7 +114,9 @@
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
for ( MavenProject project : reactorProjects )
{
- builder.putOriginalVersion( project.getGroupId() + ':' + project.getArtifactId(), project.getVersion() );
+ String projectKey = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
+ builder.putOriginalVersion( projectKey, project.getVersion() );
+ builder.addProjectPomFile( projectKey, project.getFile().getPath() );
}
return builder;
}
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java
index 46d19a2..ea6cd9f 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java
@@ -27,6 +27,8 @@
import static org.mockito.Mockito.verifyNoMoreInteractions;
import java.io.IOException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -742,13 +744,10 @@
protected ReleaseDescriptorBuilder createDescriptorFromProjects( List<MavenProject> reactorProjects, String workingDirectory )
{
- ReleaseDescriptorBuilder builder = createDescriptorFromProjects( new ReleaseDescriptorBuilder(), reactorProjects );
- builder.setWorkingDirectory( getWorkingDirectory( workingDirectory ).toString() );
- return builder;
- }
-
- private ReleaseDescriptorBuilder createDescriptorFromProjects( ReleaseDescriptorBuilder builder, List<MavenProject> reactorProjects )
- {
+ ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+ Path workingPath = getWorkingDirectory( workingDirectory );
+ builder.setWorkingDirectory( workingPath.toString() );
+
if ( reactorProjects.isEmpty() )
{
return builder;
@@ -761,6 +760,8 @@
String key = project.getGroupId() + ':' + project.getArtifactId();
builder.putOriginalVersion( key, project.getVersion() );
builder.addOriginalScmInfo( key, project.getScm() );
+
+ builder.addProjectPomFile( key, workingPath.relativize( project.getFile().toPath() ).toString() );
}
if ( rootProject.getScm() == null )
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhaseTest.java
index 3a6bbae..3fd8794 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhaseTest.java
@@ -23,8 +23,10 @@
import static org.junit.Assert.assertTrue;
import java.io.File;
+import java.util.Collections;
import java.util.List;
+import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder;
@@ -33,14 +35,32 @@
public class AbstractScmCommitPhaseTest
{
+ protected ReleaseDescriptorBuilder createReleaseDescriptorBuilder( List<MavenProject> reactorProjects )
+ {
+ ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+
+ for ( MavenProject reactorProject : reactorProjects )
+ {
+ String projectKey =
+ ArtifactUtils.versionlessKey( reactorProject.getGroupId(), reactorProject.getArtifactId() );
+
+ builder.addProjectPomFile( projectKey, reactorProject.getFile().getPath() );
+ }
+
+ return builder;
+ }
+
@Test
public void testDefaultCreatePomFiles()
throws Exception
{
+ MavenProject project = createProject( "artifactId", "1.0-SNAPSHOT", new File( "pom.xml" ) );
+
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( Collections.singletonList( project ) );
+
List<File> files =
- AbstractScmCommitPhase.createPomFiles( ReleaseUtils.buildReleaseDescriptor( new ReleaseDescriptorBuilder() ),
- createProject( "artifactId", "1.0-SNAPSHOT",
- new File( "pom.xml" ) ) );
+ AbstractScmCommitPhase.createPomFiles( ReleaseUtils.buildReleaseDescriptor( builder ), project );
+
assertEquals( "Number of created files", files.size(), 1 );
assertTrue( files.contains( new File( "pom.xml" ) ) );
}
@@ -50,11 +70,14 @@
public void testCreatePomFilesSuppressCommitBeforeTag()
throws Exception
{
- ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+ MavenProject project = createProject( "artifactId", "1.0-SNAPSHOT", new File( "pom.xml" ) );
+
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( Collections.singletonList( project ) );
builder.setSuppressCommitBeforeTagOrBranch( true );
+
List<File> files =
- AbstractScmCommitPhase.createPomFiles( ReleaseUtils.buildReleaseDescriptor( builder ),
- createProject( "artifactId", "1.0-SNAPSHOT", new File( "pom.xml" ) ) );
+ AbstractScmCommitPhase.createPomFiles( ReleaseUtils.buildReleaseDescriptor( builder ), project );
+
assertEquals( "Number of created files", files.size(), 1 );
assertTrue( files.contains( new File( "pom.xml" ) ) );
}
@@ -63,11 +86,14 @@
public void testCreatePomFilesWithReleasePom()
throws Exception
{
- ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+ MavenProject project = createProject( "artifactId", "1.0-SNAPSHOT", new File( "pom.xml" ) );
+
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( Collections.singletonList( project ) );
builder.setGenerateReleasePoms( true );
+
List<File> files =
- AbstractScmCommitPhase.createPomFiles( ReleaseUtils.buildReleaseDescriptor( builder ),
- createProject( "artifactId", "1.0-SNAPSHOT", new File( "pom.xml" ) ) );
+ AbstractScmCommitPhase.createPomFiles( ReleaseUtils.buildReleaseDescriptor( builder ), project );
+
assertEquals( "Number of created files", files.size(), 2 );
assertTrue( files.contains( new File( "pom.xml" ) ) );
assertTrue( files.contains( new File( "release-pom.xml" ) ) );
@@ -77,12 +103,14 @@
public void testCreatePomFilesWithReleasePomAndSuppressCommitBeforeTag()
throws Exception
{
- ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+ MavenProject project = createProject( "artifactId", "1.0-SNAPSHOT", new File( "pom.xml" ) );
+
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( Collections.singletonList( project ) );
builder.setGenerateReleasePoms( true );
builder.setSuppressCommitBeforeTagOrBranch( true );
+
List<File> files =
- AbstractScmCommitPhase.createPomFiles( ReleaseUtils.buildReleaseDescriptor( builder ),
- createProject( "artifactId", "1.0-SNAPSHOT", new File( "pom.xml" ) ) );
+ AbstractScmCommitPhase.createPomFiles( ReleaseUtils.buildReleaseDescriptor( builder ), project );
assertEquals( "Number of created files", files.size(), 1 );
assertTrue( files.contains( new File( "pom.xml" ) ) );
}
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhaseTest.java
index 527d79e..a807771 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhaseTest.java
@@ -80,9 +80,9 @@
private void runExecuteOnProjects( String path )
throws Exception
{
- List<MavenProject> projects = getReactorProjects( getTestPath( path ) );
+ List<MavenProject> projects = getReactorProjects( path );
- ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( projects );
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( projects, path );
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), projects );
@@ -92,9 +92,9 @@
private void runSimulateOnProjects( String path )
throws Exception
{
- List<MavenProject> projects = getReactorProjects( getTestPath( path ) );
+ List<MavenProject> projects = getReactorProjects( path );
- ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( projects );
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( projects, path );
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), projects );
@@ -104,9 +104,9 @@
private void runCleanOnProjects( String path )
throws Exception
{
- List<MavenProject> projects = getReactorProjects( getTestPath( path ) );
+ List<MavenProject> projects = getReactorProjects( path );
- ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( projects );
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( projects, path );
( (ResourceGenerator) phase ).clean( ReleaseUtils.buildReleaseDescriptor( builder ), projects );
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhaseTest.java
index a8418c5..043a437 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhaseTest.java
@@ -82,9 +82,9 @@
private void runExecuteOnProjects( String path )
throws Exception
{
- List<MavenProject> projects = getReactorProjects( getTestPath( path ) );
+ List<MavenProject> projects = getReactorProjects( path );
- ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( projects );
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( projects, path );
builder.setScmSourceUrl( "scm:svn:http://myhost/myrepo" );
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), projects );
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java
index 41c90f3..255c23a 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java
@@ -32,6 +32,7 @@
import java.util.Collections;
import java.util.List;
+import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.project.MavenProject;
import org.apache.maven.scm.ScmFile;
import org.apache.maven.scm.ScmFileSet;
@@ -80,6 +81,12 @@
reactorProjects = createReactorProjects();
rootProject = ReleaseUtil.getRootProject( reactorProjects );
builder = createReleaseDescriptorBuilder( rootProject );
+
+ for ( MavenProject project : reactorProjects )
+ {
+ String projectKey = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
+ builder.addProjectPomFile( projectKey, project.getFile().getPath() );
+ }
}
@Test
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java
index 54c1860..2185894 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java
@@ -100,7 +100,8 @@
{
// prepare
List<MavenProject> reactorProjects = createReactorProjects();
- ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( reactorProjects );
builder.setScmSourceUrl( "scm-url" );
MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
@@ -133,9 +134,10 @@
throws Exception
{
// prepare
- ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
String dir = "scm-commit/multiple-poms";
List<MavenProject> reactorProjects = createReactorProjects( dir, dir, null );
+
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( reactorProjects );
builder.setScmSourceUrl( "scm-url" );
MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
@@ -175,8 +177,9 @@
// prepare
phase = (ReleasePhase) lookup( ReleasePhase.class, "scm-commit-development" );
- ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
List<MavenProject> reactorProjects = createReactorProjects();
+
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( reactorProjects );
builder.setScmSourceUrl( "scm-url" );
MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
@@ -193,7 +196,7 @@
ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.class );
stub.setScmProvider( scmProviderMock );
-
+
// execute
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
@@ -228,7 +231,8 @@
{
// prepare
List<MavenProject> reactorProjects = createReactorProjects();
- ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( reactorProjects );
builder.setScmSourceUrl( "scm-url" );
builder.setGenerateReleasePoms( true );
MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
@@ -264,8 +268,9 @@
public void testSimulateCommit()
throws Exception
{
- ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
List<MavenProject> reactorProjects = createReactorProjects();
+
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( reactorProjects );
builder.setScmSourceUrl( "scm-url" );
MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
builder.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
@@ -306,7 +311,7 @@
{
// prepare
List<MavenProject> reactorProjects = createReactorProjects();
- ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder();
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( reactorProjects );
ScmManagerStub scmManagerStub = (ScmManagerStub) lookup( ScmManager.class );
scmManagerStub.setException( new NoSuchScmProviderException( "..." ) );
@@ -330,7 +335,7 @@
{
// prepare
List<MavenProject> reactorProjects = createReactorProjects();
- ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder();
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( reactorProjects );
ScmManagerStub scmManagerStub = (ScmManagerStub) lookup( ScmManager.class );
scmManagerStub.setException( new ScmRepositoryException( "..." ) );
@@ -355,7 +360,8 @@
{
// prepare
List<MavenProject> reactorProjects = createReactorProjects();
- ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder();
+
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( reactorProjects );
ScmProvider scmProviderMock = mock( ScmProvider.class );
when( scmProviderMock.checkIn( isA( ScmRepository.class ), isA( ScmFileSet.class ), isNull( ScmVersion.class ),
@@ -387,7 +393,7 @@
throws Exception
{
List<MavenProject> reactorProjects = createReactorProjects();
- ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder();
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( reactorProjects );
ScmManager scmManager = (ScmManager) lookup( ScmManager.class );
ScmProviderStub providerStub =
@@ -411,9 +417,9 @@
public void testSuppressCommitWithRemoteTaggingFails()
throws Exception
{
- ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder();
List<MavenProject> reactorProjects = createReactorProjects();
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( reactorProjects );
builder.setRemoteTagging( true );
builder.setSuppressCommitBeforeTagOrBranch( true );
@@ -441,9 +447,9 @@
public void testSuppressCommitAfterBranch()
throws Exception
{
- ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder();
List<MavenProject> reactorProjects = createReactorProjects();
+ ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder( reactorProjects );
builder.setBranchCreation( true );
builder.setRemoteTagging( false );
builder.setSuppressCommitBeforeTagOrBranch( true );
@@ -466,12 +472,14 @@
return createReactorProjects( dir, dir, null );
}
- private static ReleaseDescriptorBuilder createReleaseDescriptorBuilder()
+ @Override
+ protected ReleaseDescriptorBuilder createReleaseDescriptorBuilder( List<MavenProject> reactorProjects )
{
- ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
+ ReleaseDescriptorBuilder builder = super.createReleaseDescriptorBuilder( reactorProjects );
builder.setScmSourceUrl( "scm-url" );
builder.setScmReleaseLabel( "release-label" );
builder.setWorkingDirectory( getTestFile( "target/test/checkout" ).getAbsolutePath() );
return builder;
}
+
}
\ No newline at end of file