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/02/10 16:02:56 UTC

[maven-release] 08/21: Move from ReleaseDescriptor to ReleaseDescriptorBuilder

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

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

commit 1c18550ab9a776da8cc708c18a9efc4c8fbeb5bc
Author: rfscholte <rf...@apache.org>
AuthorDate: Sun Jan 28 11:39:46 2018 +0100

    Move from ReleaseDescriptor to ReleaseDescriptorBuilder
---
 .../shared/release/DefaultReleaseManager.java      |   2 +-
 .../config/PropertiesReleaseDescriptorStore.java   |  10 +-
 .../release/config/ReleaseDescriptorStore.java     |   2 +-
 .../maven/shared/release/config/ReleaseUtils.java  | 101 +++++++++++----------
 .../PropertiesReleaseDescriptorStoreTest.java      |  24 ++---
 .../release/config/ReleaseDescriptorStoreStub.java |   6 +-
 .../shared/release/config/ReleaseUtilsTest.java    |  87 +++++++++---------
 7 files changed, 119 insertions(+), 113 deletions(-)

diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManager.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManager.java
index 4b00c75..d1b3748 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManager.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManager.java
@@ -435,7 +435,7 @@ public class DefaultReleaseManager
         try
         {
             updateListener( listener, "verify-release-configuration", PHASE_START );
-            ReleaseDescriptor descriptor = configStore.read( builder );
+            ReleaseDescriptor descriptor = configStore.read( builder ).build();
             updateListener( listener, "verify-release-configuration", PHASE_END );
             return descriptor;
         }
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
index 114179c..ce13e5e 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
@@ -61,19 +61,19 @@ public class PropertiesReleaseDescriptorStore
     private DefaultSecDispatcher secDispatcher;
 
     @Override
-    public ReleaseDescriptor read( ReleaseDescriptorBuilder mergeDescriptor )
+    public ReleaseDescriptorBuilder read( ReleaseDescriptorBuilder mergeDescriptor )
         throws ReleaseDescriptorStoreException
     {
         return read( mergeDescriptor, getDefaultReleasePropertiesFile( mergeDescriptor.build() ) );
     }
 
-    public ReleaseDescriptor read( File file )
+    public ReleaseDescriptorBuilder read( File file )
         throws ReleaseDescriptorStoreException
     {
         return read( null, file );
     }
 
-    public ReleaseDescriptor read( ReleaseDescriptorBuilder mergeDescriptor, File file )
+    public ReleaseDescriptorBuilder read( ReleaseDescriptorBuilder mergeDescriptor, File file )
         throws ReleaseDescriptorStoreException
     {
         Properties properties = new Properties();
@@ -95,10 +95,10 @@ public class PropertiesReleaseDescriptorStore
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
         ReleaseUtils.copyPropertiesToReleaseDescriptor( properties, builder );
 
-        ReleaseDescriptor releaseDescriptor = builder.build();
+        ReleaseDescriptorBuilder releaseDescriptor = builder;
         if ( mergeDescriptor != null )
         {
-            releaseDescriptor = ReleaseUtils.merge( releaseDescriptor, mergeDescriptor.build() );
+            releaseDescriptor = ReleaseUtils.merge( builder, mergeDescriptor.build() );
         }
 
         return releaseDescriptor;
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorStore.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorStore.java
index 3694744..69092c1 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorStore.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorStore.java
@@ -33,7 +33,7 @@ public interface ReleaseDescriptorStore
      *                        while others are used to override
      * @return the configuration
      */
-    ReleaseDescriptor read( ReleaseDescriptorBuilder mergeDescriptor )
+    ReleaseDescriptorBuilder read( ReleaseDescriptorBuilder mergeDescriptor )
         throws ReleaseDescriptorStoreException;
 
     /**
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java
index 578d2b2..21f9767 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java
@@ -51,59 +51,65 @@ public class ReleaseUtils
      * @param toBeMerged the descriptor to merge into mergeInto
      * @return ReleaseDescriptor the merged descriptor
      */
-    public static ReleaseDescriptor merge( ReleaseDescriptor mergeInto, ReleaseDescriptor toBeMerged )
+    public static ReleaseDescriptorBuilder merge( ReleaseDescriptorBuilder mergeIntoBuilder,
+                                                  ReleaseDescriptor toBeMerged )
     {
+        ReleaseDescriptor mergeInto = mergeIntoBuilder.build();
+        
         // Overridden if configured from the caller
-        mergeInto.setScmId( mergeOverride( mergeInto.getScmId(), toBeMerged.getScmId() ) );
-        mergeInto.setScmSourceUrl( mergeOverride( mergeInto.getScmSourceUrl(), toBeMerged.getScmSourceUrl() ) );
-        mergeInto.setScmCommentPrefix(
+        mergeIntoBuilder.setScmId( mergeOverride( mergeInto.getScmId(), toBeMerged.getScmId() ) );
+        mergeIntoBuilder.setScmSourceUrl( mergeOverride( mergeInto.getScmSourceUrl(), toBeMerged.getScmSourceUrl() ) );
+        mergeIntoBuilder.setScmCommentPrefix(
             mergeOverride( mergeInto.getScmCommentPrefix(), toBeMerged.getScmCommentPrefix() ) );
-        mergeInto.setScmReleaseLabel( mergeOverride( mergeInto.getScmReleaseLabel(),
+        mergeIntoBuilder.setScmReleaseLabel( mergeOverride( mergeInto.getScmReleaseLabel(),
                                                      toBeMerged.getScmReleaseLabel() ) );
-        mergeInto.setScmTagBase( mergeOverride( mergeInto.getScmTagBase(), toBeMerged.getScmTagBase() ) );
-        mergeInto.setScmTagNameFormat(
+        mergeIntoBuilder.setScmTagBase( mergeOverride( mergeInto.getScmTagBase(), toBeMerged.getScmTagBase() ) );
+        mergeIntoBuilder.setScmTagNameFormat(
             mergeOverride( mergeInto.getScmTagNameFormat(), toBeMerged.getScmTagNameFormat() ) );
-        mergeInto.setScmBranchBase( mergeOverride( mergeInto.getScmBranchBase(), toBeMerged.getScmBranchBase() ) );
-        mergeInto.setScmUsername( mergeOverride( mergeInto.getScmUsername(), toBeMerged.getScmUsername() ) );
-        mergeInto.setScmPassword( mergeOverride( mergeInto.getScmPassword(), toBeMerged.getScmPassword() ) );
-        mergeInto.setScmPrivateKey( mergeOverride( mergeInto.getScmPrivateKey(), toBeMerged.getScmPrivateKey() ) );
-        mergeInto.setScmPrivateKeyPassPhrase(
+        mergeIntoBuilder.setScmBranchBase( mergeOverride( mergeInto.getScmBranchBase(),
+                                                          toBeMerged.getScmBranchBase() ) );
+        mergeIntoBuilder.setScmUsername( mergeOverride( mergeInto.getScmUsername(), toBeMerged.getScmUsername() ) );
+        mergeIntoBuilder.setScmPassword( mergeOverride( mergeInto.getScmPassword(), toBeMerged.getScmPassword() ) );
+        mergeIntoBuilder.setScmPrivateKey( mergeOverride( mergeInto.getScmPrivateKey(),
+                                                          toBeMerged.getScmPrivateKey() ) );
+        mergeIntoBuilder.setScmPrivateKeyPassPhrase(
             mergeOverride( mergeInto.getScmPrivateKeyPassPhrase(), toBeMerged.getScmPrivateKeyPassPhrase() ) );
-        mergeInto.setScmCommentPrefix(
+        mergeIntoBuilder.setScmCommentPrefix(
             mergeOverride( mergeInto.getScmCommentPrefix(), toBeMerged.getScmCommentPrefix() ) );
-        mergeInto.setAdditionalArguments(
+        mergeIntoBuilder.setAdditionalArguments(
             mergeOverride( mergeInto.getAdditionalArguments(), toBeMerged.getAdditionalArguments() ) );
-        mergeInto.setPreparationGoals(
+        mergeIntoBuilder.setPreparationGoals(
             mergeOverride( mergeInto.getPreparationGoals(), toBeMerged.getPreparationGoals() ) );
-        mergeInto.setCompletionGoals(
+        mergeIntoBuilder.setCompletionGoals(
             mergeOverride( mergeInto.getCompletionGoals(), toBeMerged.getCompletionGoals() ) );
-        mergeInto.setPerformGoals( mergeOverride( mergeInto.getPerformGoals(), toBeMerged.getPerformGoals() ) );
-        mergeInto.setPomFileName( mergeOverride( mergeInto.getPomFileName(), toBeMerged.getPomFileName() ) );
-        mergeInto.setCheckModificationExcludes( toBeMerged.getCheckModificationExcludes() );
-        mergeInto.setScmUseEditMode( toBeMerged.isScmUseEditMode() );
-        mergeInto.setAddSchema( toBeMerged.isAddSchema() );
-        mergeInto.setGenerateReleasePoms( toBeMerged.isGenerateReleasePoms() );
-        mergeInto.setInteractive( toBeMerged.isInteractive() );
-        mergeInto.setUpdateDependencies( toBeMerged.isUpdateDependencies() );
-        mergeInto.setCommitByProject( mergeOverride( mergeInto.isCommitByProject(), toBeMerged.isCommitByProject(),
+        mergeIntoBuilder.setPerformGoals( mergeOverride( mergeInto.getPerformGoals(), toBeMerged.getPerformGoals() ) );
+        mergeIntoBuilder.setPomFileName( mergeOverride( mergeInto.getPomFileName(), toBeMerged.getPomFileName() ) );
+        mergeIntoBuilder.setCheckModificationExcludes( toBeMerged.getCheckModificationExcludes() );
+        mergeIntoBuilder.setScmUseEditMode( toBeMerged.isScmUseEditMode() );
+        mergeIntoBuilder.setAddSchema( toBeMerged.isAddSchema() );
+        mergeIntoBuilder.setGenerateReleasePoms( toBeMerged.isGenerateReleasePoms() );
+        mergeIntoBuilder.setInteractive( toBeMerged.isInteractive() );
+        mergeIntoBuilder.setUpdateDependencies( toBeMerged.isUpdateDependencies() );
+        mergeIntoBuilder.setCommitByProject( mergeOverride( mergeInto.isCommitByProject(),
+                                                            toBeMerged.isCommitByProject(),
                                                      false ) );
-        mergeInto.setUseReleaseProfile( toBeMerged.isUseReleaseProfile() );
-        mergeInto.setBranchCreation( toBeMerged.isBranchCreation() );
-        mergeInto.setUpdateBranchVersions( toBeMerged.isUpdateBranchVersions() );
-        mergeInto.setUpdateWorkingCopyVersions( toBeMerged.isUpdateWorkingCopyVersions() );
-        mergeInto.setSuppressCommitBeforeTagOrBranch( toBeMerged.isSuppressCommitBeforeTagOrBranch() );
-        mergeInto.setUpdateVersionsToSnapshot( toBeMerged.isUpdateVersionsToSnapshot() );
-        mergeInto.setAllowTimestampedSnapshots( toBeMerged.isAllowTimestampedSnapshots() );
-        mergeInto.setSnapshotReleasePluginAllowed( toBeMerged.isSnapshotReleasePluginAllowed() );
-        mergeInto.setAutoVersionSubmodules( toBeMerged.isAutoVersionSubmodules() );
-        mergeInto.setDefaultReleaseVersion( mergeOverride( mergeInto.getDefaultReleaseVersion(),
+        mergeIntoBuilder.setUseReleaseProfile( toBeMerged.isUseReleaseProfile() );
+        mergeIntoBuilder.setBranchCreation( toBeMerged.isBranchCreation() );
+        mergeIntoBuilder.setUpdateBranchVersions( toBeMerged.isUpdateBranchVersions() );
+        mergeIntoBuilder.setUpdateWorkingCopyVersions( toBeMerged.isUpdateWorkingCopyVersions() );
+        mergeIntoBuilder.setSuppressCommitBeforeTagOrBranch( toBeMerged.isSuppressCommitBeforeTagOrBranch() );
+        mergeIntoBuilder.setUpdateVersionsToSnapshot( toBeMerged.isUpdateVersionsToSnapshot() );
+        mergeIntoBuilder.setAllowTimestampedSnapshots( toBeMerged.isAllowTimestampedSnapshots() );
+        mergeIntoBuilder.setSnapshotReleasePluginAllowed( toBeMerged.isSnapshotReleasePluginAllowed() );
+        mergeIntoBuilder.setAutoVersionSubmodules( toBeMerged.isAutoVersionSubmodules() );
+        mergeIntoBuilder.setDefaultReleaseVersion( mergeOverride( mergeInto.getDefaultReleaseVersion(),
                                                            toBeMerged.getDefaultReleaseVersion() ) );
-        mergeInto.setDefaultDevelopmentVersion( mergeOverride( mergeInto.getDefaultDevelopmentVersion(),
+        mergeIntoBuilder.setDefaultDevelopmentVersion( mergeOverride( mergeInto.getDefaultDevelopmentVersion(),
                                                                toBeMerged.getDefaultDevelopmentVersion() ) );
-        mergeInto.setRemoteTagging( toBeMerged.isRemoteTagging() );
-        mergeInto.setLocalCheckout( toBeMerged.isLocalCheckout() );
-        mergeInto.setPushChanges( toBeMerged.isPushChanges() );
-        mergeInto.setWaitBeforeTagging( toBeMerged.getWaitBeforeTagging() );
+        mergeIntoBuilder.setRemoteTagging( toBeMerged.isRemoteTagging() );
+        mergeIntoBuilder.setLocalCheckout( toBeMerged.isLocalCheckout() );
+        mergeIntoBuilder.setPushChanges( toBeMerged.isPushChanges() );
+        mergeIntoBuilder.setWaitBeforeTagging( toBeMerged.getWaitBeforeTagging() );
 
         // If the user specifies versions, these should be override the existing versions
         if ( toBeMerged.getReleaseVersions() != null )
@@ -119,22 +125,23 @@ public class ReleaseUtils
             putAll( toBeMerged.getOriginalVersions( Collections.<MavenProject>emptyList() ) );
         
         // These must be overridden, as they are not stored
-        mergeInto.setWorkingDirectory(
+        mergeIntoBuilder.setWorkingDirectory(
             mergeOverride( mergeInto.getWorkingDirectory(), toBeMerged.getWorkingDirectory() ) );
-        mergeInto.setCheckoutDirectory(
+        mergeIntoBuilder.setCheckoutDirectory(
             mergeOverride( mergeInto.getCheckoutDirectory(), toBeMerged.getCheckoutDirectory() ) );
 
         // Not overridden - not configured from caller
-        mergeInto.setCompletedPhase( mergeDefault( mergeInto.getCompletedPhase(), toBeMerged.getCompletedPhase() ) );
+        mergeIntoBuilder.setCompletedPhase( mergeDefault( mergeInto.getCompletedPhase(),
+                                                          toBeMerged.getCompletedPhase() ) );
 
-        mergeInto.setProjectVersionPolicyId( mergeDefault( mergeInto.getProjectVersionPolicyId(),
+        mergeIntoBuilder.setProjectVersionPolicyId( mergeDefault( mergeInto.getProjectVersionPolicyId(),
                                                            toBeMerged.getProjectVersionPolicyId() ) );
-        mergeInto.setProjectNamingPolicyId( mergeDefault( mergeInto.getProjectNamingPolicyId(),
+        mergeIntoBuilder.setProjectNamingPolicyId( mergeDefault( mergeInto.getProjectNamingPolicyId(),
                                                           toBeMerged.getProjectNamingPolicyId() ) );
-        mergeInto.setReleaseStrategyId( mergeOverride( mergeInto.getReleaseStrategyId(),
+        mergeIntoBuilder.setReleaseStrategyId( mergeOverride( mergeInto.getReleaseStrategyId(),
                                                           toBeMerged.getReleaseStrategyId() ) );
 
-        return mergeInto;
+        return mergeIntoBuilder;
     }
 
     private static String mergeOverride( String thisValue, String mergeValue )
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 124fe6e..03b2fd2 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
@@ -53,7 +53,7 @@ public class PropertiesReleaseDescriptorStoreTest
     {
         File file = getTestFile( "target/test-classes/release.properties" );
 
-        ReleaseDescriptor config = store.read( file );
+        ReleaseDescriptor config = store.read( file ).build();
 
         ReleaseDescriptor expected = createExpectedReleaseConfiguration();
 
@@ -65,7 +65,7 @@ public class PropertiesReleaseDescriptorStoreTest
     {
         ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
         builder.setWorkingDirectory( AbstractReleaseTestCase.getPath(  getTestFile( "target/test-classes" ) ) );
-        ReleaseDescriptor config = store.read( builder );
+        ReleaseDescriptor config = store.read( builder ).build();
 
         ReleaseDescriptor expected = createExpectedReleaseConfiguration();
         expected.setWorkingDirectory( builder.build().getWorkingDirectory() );
@@ -78,7 +78,7 @@ public class PropertiesReleaseDescriptorStoreTest
     {
         File file = getTestFile( "target/test-classes/empty-release.properties" );
 
-        ReleaseDescriptor config = store.read( file );
+        ReleaseDescriptor config = store.read( file ).build();
 
         assertDefaultReleaseConfiguration( config );
     }
@@ -88,7 +88,7 @@ public class PropertiesReleaseDescriptorStoreTest
     {
         File file = getTestFile( "target/test-classes/no-release.properties" );
 
-        ReleaseDescriptor config = store.read( file );
+        ReleaseDescriptor config = store.read( file ).build();
 
         assertDefaultReleaseConfiguration( config );
     }
@@ -99,7 +99,7 @@ public class PropertiesReleaseDescriptorStoreTest
         File file = getTestFile( "target/test-classes/empty-release.properties" );
 
         ReleaseDescriptorBuilder mergeDescriptor = createMergeConfiguration();
-        ReleaseDescriptor config = store.read( mergeDescriptor, file );
+        ReleaseDescriptor config = store.read( mergeDescriptor, file ).build();
 
         assertEquals( "Check configurations merged", mergeDescriptor.build(), config );
     }
@@ -110,7 +110,7 @@ public class PropertiesReleaseDescriptorStoreTest
         File file = getTestFile( "target/test-classes/no-release.properties" );
 
         ReleaseDescriptorBuilder mergeDescriptor = createMergeConfiguration();
-        ReleaseDescriptor config = store.read( mergeDescriptor, file );
+        ReleaseDescriptor config = store.read( mergeDescriptor, file ).build();
 
         assertEquals( "Check configurations merged", mergeDescriptor.build(), config );
     }
@@ -126,7 +126,7 @@ public class PropertiesReleaseDescriptorStoreTest
 
         store.write( config, file );
 
-        ReleaseDescriptor rereadDescriptor = store.read( file );
+        ReleaseDescriptor rereadDescriptor = store.read( file ).build();
 
         assertAndAdjustScmPassword( config, rereadDescriptor );
         assertAndAdjustScmPrivateKeyPassPhrase( config, rereadDescriptor );
@@ -147,7 +147,7 @@ public class PropertiesReleaseDescriptorStoreTest
 
         store.write( config );
 
-        ReleaseDescriptor rereadDescriptor = store.read( file );
+        ReleaseDescriptor rereadDescriptor = store.read( file ).build();
         rereadDescriptor.setWorkingDirectory( AbstractReleaseTestCase.getPath( file.getParentFile() ) );
 
         assertAndAdjustScmPassword( config, rereadDescriptor );
@@ -169,7 +169,7 @@ public class PropertiesReleaseDescriptorStoreTest
 
         store.write( config.build(), file );
 
-        ReleaseDescriptor rereadDescriptor = store.read( file );
+        ReleaseDescriptor rereadDescriptor = store.read( file ).build();
 
         assertEquals( "compare configuration", config.build(), rereadDescriptor );
     }
@@ -198,7 +198,7 @@ public class PropertiesReleaseDescriptorStoreTest
 
         store.write( config.build(), file );
 
-        ReleaseDescriptor rereadDescriptor = store.read( file );
+        ReleaseDescriptor rereadDescriptor = store.read( file ).build();
 
         assertEquals( "compare configuration", config.build(), rereadDescriptor );
     }
@@ -221,7 +221,7 @@ public class PropertiesReleaseDescriptorStoreTest
 
         store.write( builder.build(), file );
 
-        ReleaseDescriptor rereadDescriptor = store.read( file );
+        ReleaseDescriptor rereadDescriptor = store.read( file ).build();
 
         assertNull( "check null scm is mapped correctly",
                     rereadDescriptor.getOriginalScmInfo().get( "group.id:artifact.id" ) );
@@ -239,7 +239,7 @@ public class PropertiesReleaseDescriptorStoreTest
 
         store.write( config, file );
 
-        ReleaseDescriptor rereadDescriptor = store.read( file );
+        ReleaseDescriptor rereadDescriptor = store.read( file ).build();
 
         assertAndAdjustScmPassword( config, rereadDescriptor );
         assertAndAdjustScmPrivateKeyPassPhrase( config, rereadDescriptor );
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseDescriptorStoreStub.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseDescriptorStoreStub.java
index 056b48a..6ebfcd9 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseDescriptorStoreStub.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseDescriptorStoreStub.java
@@ -33,10 +33,10 @@ public class ReleaseDescriptorStoreStub
     private ReleaseDescriptorBuilder releaseDescriptor = new ReleaseDescriptorBuilder();
 
     @Override
-    public ReleaseDescriptor read( ReleaseDescriptorBuilder mergeDescriptor )
+    public ReleaseDescriptorBuilder read( ReleaseDescriptorBuilder mergeDescriptor )
     {
-        ReleaseUtils.merge( releaseDescriptor.build(), mergeDescriptor.build() );
-        return releaseDescriptor.build();
+        ReleaseUtils.merge( releaseDescriptor, mergeDescriptor.build() );
+        return releaseDescriptor;
     }
 
     @Override
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 70ec285..454f126 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
@@ -40,10 +40,10 @@ public class ReleaseUtilsTest
     public void testMergeConfigurationSourceEmpty()
         throws IOException
     {
-        ReleaseDescriptor mergeDescriptor = createReleaseDescriptor();
-        ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
-        ReleaseDescriptor mergedReleaseDescriptor = ReleaseUtils.merge( releaseDescriptor, mergeDescriptor );
-        ReleaseDescriptor mergedMergeDescriptor = ReleaseUtils.merge( mergeDescriptor, releaseDescriptor );
+        ReleaseDescriptorBuilder mergeDescriptor = createReleaseDescriptor();
+        ReleaseDescriptorBuilder releaseDescriptor = new ReleaseDescriptorBuilder();
+        ReleaseDescriptor mergedReleaseDescriptor = ReleaseUtils.merge( releaseDescriptor, mergeDescriptor.build() ).build();
+        ReleaseDescriptor mergedMergeDescriptor = ReleaseUtils.merge( mergeDescriptor, releaseDescriptor.build() ).build();
 
         assertEquals( "Check merge", mergedReleaseDescriptor, mergedMergeDescriptor );
     }
@@ -51,11 +51,11 @@ public class ReleaseUtilsTest
     public void testMergeEqualsWithUpdateWorkingCopyTrue()
         throws IOException
     {
-        ReleaseDescriptor mergeDescriptor = createReleaseDescriptor();
-        ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
+        ReleaseDescriptorBuilder mergeDescriptor = createReleaseDescriptor();
+        ReleaseDescriptorBuilder releaseDescriptor = new ReleaseDescriptorBuilder();
 
-        ReleaseDescriptor mergedReleaseDescriptor = ReleaseUtils.merge( releaseDescriptor, mergeDescriptor );
-        ReleaseDescriptor mergedMergeDescriptor = ReleaseUtils.merge( mergeDescriptor, releaseDescriptor );
+        ReleaseDescriptor mergedReleaseDescriptor = ReleaseUtils.merge( releaseDescriptor, mergeDescriptor.build() ).build();
+        ReleaseDescriptor mergedMergeDescriptor = ReleaseUtils.merge( mergeDescriptor, releaseDescriptor.build() ).build();
 
         assertEquals( "Check merge", mergedReleaseDescriptor, mergedMergeDescriptor );
     }
@@ -63,11 +63,11 @@ public class ReleaseUtilsTest
     public void testMergeConfigurationDestEmpty()
         throws IOException
     {
-        ReleaseDescriptor releaseDescriptor = createReleaseDescriptor();
-        ReleaseDescriptor mergedReleaseDescriptor = ReleaseUtils.merge( releaseDescriptor, new ReleaseDescriptor() );
-        ReleaseDescriptor expectedDescriptor = copyReleaseDescriptor( mergedReleaseDescriptor );
+        ReleaseDescriptorBuilder releaseDescriptor = createReleaseDescriptor();
+        ReleaseDescriptor mergedReleaseDescriptor = ReleaseUtils.merge( releaseDescriptor, new ReleaseDescriptorBuilder().build() ).build();
+        ReleaseDescriptor expectedDescriptor = copyReleaseDescriptor( mergedReleaseDescriptor ).build();
 
-        assertEquals( "Check merge", expectedDescriptor, releaseDescriptor );
+        assertEquals( "Check merge", expectedDescriptor, releaseDescriptor.build() );
     }
 
     public void testMergeConfiguration()
@@ -78,8 +78,7 @@ public class ReleaseUtilsTest
         ReleaseDescriptor mergeDescriptor =
             createMergeDescriptor( AbstractReleaseTestCase.getPath( workingDirectory ), "completed-phase-merge" );
 
-        ReleaseDescriptor releaseDescriptor = createReleaseDescriptor();
-        releaseDescriptor = ReleaseUtils.merge( releaseDescriptor, mergeDescriptor );
+        ReleaseDescriptor releaseDescriptor = ReleaseUtils.merge( createReleaseDescriptor(), mergeDescriptor ).build();
 
         ReleaseDescriptor expected =
             createMergeDescriptor( releaseDescriptor.getWorkingDirectory(), releaseDescriptor.getCompletedPhase() );
@@ -89,18 +88,18 @@ public class ReleaseUtilsTest
     public void testEquals()
         throws IOException
     {
-        ReleaseDescriptor originalReleaseDescriptor = createReleaseDescriptor();
-        ReleaseDescriptor releaseDescriptor = copyReleaseDescriptor( originalReleaseDescriptor );
+        ReleaseDescriptor originalReleaseDescriptor = createReleaseDescriptor().build();
+        ReleaseDescriptor releaseDescriptor = copyReleaseDescriptor( originalReleaseDescriptor ).build();
         doEqualsAssertions( releaseDescriptor, originalReleaseDescriptor, "other", new File( "f" ) );
-        originalReleaseDescriptor = createReleaseDescriptor();
-        releaseDescriptor = copyReleaseDescriptor( originalReleaseDescriptor );
+        originalReleaseDescriptor = createReleaseDescriptor().build();
+        releaseDescriptor = copyReleaseDescriptor( originalReleaseDescriptor ).build();
         doEqualsAssertions( originalReleaseDescriptor, releaseDescriptor, "other", new File( "f" ) );
 
-        originalReleaseDescriptor = createReleaseDescriptor();
-        releaseDescriptor = copyReleaseDescriptor( originalReleaseDescriptor );
+        originalReleaseDescriptor = createReleaseDescriptor().build();
+        releaseDescriptor = copyReleaseDescriptor( originalReleaseDescriptor ).build();
         doEqualsAssertions( releaseDescriptor, originalReleaseDescriptor, null, null );
-        originalReleaseDescriptor = createReleaseDescriptor();
-        releaseDescriptor = copyReleaseDescriptor( originalReleaseDescriptor );
+        originalReleaseDescriptor = createReleaseDescriptor().build();
+        releaseDescriptor = copyReleaseDescriptor( originalReleaseDescriptor ).build();
         doEqualsAssertions( originalReleaseDescriptor, releaseDescriptor, null, null );
 
         assertEquals( "test ==", releaseDescriptor, releaseDescriptor );
@@ -193,51 +192,51 @@ public class ReleaseUtilsTest
 
         config.addDevelopmentVersion( "groupId:artifactId", "1.0-SNAPSHOT" );
         assertFalse( "Check original comparison", config.equals( origConfig ) );
-        config = copyReleaseDescriptor( origConfig );
+        config = copyReleaseDescriptor( origConfig ).build();
 
         config.addReleaseVersion( "groupId:artifactId", "1.0" );
         assertFalse( "Check original comparison", config.equals( origConfig ) );
-        config = copyReleaseDescriptor( origConfig );
+        config = copyReleaseDescriptor( origConfig ).build();
 
         config.addOriginalScmInfo( "groupId:artifactId", new Scm() );
         assertFalse( "Check original comparison", config.equals( origConfig ) );
-        config = copyReleaseDescriptor( origConfig );
+        config = copyReleaseDescriptor( origConfig ).build();
 
         config.addOriginalScmInfo( "groupId:artifactId", new Scm() );
         origConfig.addOriginalScmInfo( "foo", new Scm() );
         assertFalse( "Check original comparison", config.equals( origConfig ) );
-        origConfig = createReleaseDescriptor();
-        config = copyReleaseDescriptor( origConfig );
+        origConfig = createReleaseDescriptor().build();
+        config = copyReleaseDescriptor( origConfig ).build();
 
         config.addOriginalScmInfo( "groupId:artifactId", new Scm() );
         origConfig.addOriginalScmInfo( "groupId:artifactId", new Scm() );
         assertEquals( "Check original comparison", config, origConfig );
-        origConfig = createReleaseDescriptor();
-        config = copyReleaseDescriptor( origConfig );
+        origConfig = createReleaseDescriptor().build();
+        config = copyReleaseDescriptor( origConfig ).build();
 
         config.addOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
         origConfig.addOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
         assertEquals( "Check original comparison", config, origConfig );
-        origConfig = createReleaseDescriptor();
-        config = copyReleaseDescriptor( origConfig );
+        origConfig = createReleaseDescriptor().build();
+        config = copyReleaseDescriptor( origConfig ).build();
 
         config.addOriginalScmInfo( "groupId:artifactId", getScm( "-", "dev", "url", "tag" ) );
         origConfig.addOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
         assertFalse( "Check original comparison", config.equals( origConfig ) );
-        origConfig = createReleaseDescriptor();
-        config = copyReleaseDescriptor( origConfig );
+        origConfig = createReleaseDescriptor().build();
+        config = copyReleaseDescriptor( origConfig ).build();
 
         config.addOriginalScmInfo( "groupId:artifactId", getScm( "conn", "-", "url", "tag" ) );
         origConfig.addOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
         assertFalse( "Check original comparison", config.equals( origConfig ) );
-        origConfig = createReleaseDescriptor();
-        config = copyReleaseDescriptor( origConfig );
+        origConfig = createReleaseDescriptor().build();
+        config = copyReleaseDescriptor( origConfig ).build();
 
         config.addOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "-", "tag" ) );
         origConfig.addOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
         assertFalse( "Check original comparison", config.equals( origConfig ) );
-        origConfig = createReleaseDescriptor();
-        config = copyReleaseDescriptor( origConfig );
+        origConfig = createReleaseDescriptor().build();
+        config = copyReleaseDescriptor( origConfig ).build();
 
         config.addOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "-" ) );
         origConfig.addOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
@@ -247,10 +246,10 @@ public class ReleaseUtilsTest
     public void testHashCode()
         throws IOException
     {
-        ReleaseDescriptor releaseDescriptor = createReleaseDescriptor();
+        ReleaseDescriptor releaseDescriptor = createReleaseDescriptor().build();
 
         assertEquals( "Check hash code", releaseDescriptor.hashCode(),
-                      createReleaseDescriptor( releaseDescriptor.getWorkingDirectory() ).hashCode() );
+                      createReleaseDescriptor( releaseDescriptor.getWorkingDirectory() ).build().hashCode() );
     }
 
     public void testLoadResolvedDependencies()
@@ -297,7 +296,7 @@ public class ReleaseUtilsTest
         ReleaseUtils.copyPropertiesToReleaseDescriptor( properties, new ReleaseDescriptorBuilder() );
     }
 
-    private static ReleaseDescriptor copyReleaseDescriptor( ReleaseDescriptor originalReleaseDescriptor )
+    private static ReleaseDescriptorBuilder copyReleaseDescriptor( ReleaseDescriptor originalReleaseDescriptor )
     {
         return createReleaseDescriptor( originalReleaseDescriptor.getWorkingDirectory() );
     }
@@ -314,7 +313,7 @@ public class ReleaseUtilsTest
 
     private static ReleaseDescriptor createMergeDescriptor( String workingDirectory, String completedPhase )
     {
-        ReleaseDescriptor mergeDescriptor = new ReleaseDescriptor();
+        ReleaseDescriptor mergeDescriptor = new ReleaseDescriptorBuilder().build();
         mergeDescriptor.setScmSourceUrl( "scm-url-merge" );
         mergeDescriptor.setCompletedPhase( completedPhase );
         mergeDescriptor.setScmPrivateKeyPassPhrase( "passphrase-merge" );
@@ -330,7 +329,7 @@ public class ReleaseUtilsTest
         return mergeDescriptor;
     }
 
-    private static ReleaseDescriptor createReleaseDescriptor()
+    private static ReleaseDescriptorBuilder createReleaseDescriptor()
         throws IOException
     {
         File workingDirectory = new File( "." );
@@ -338,9 +337,9 @@ public class ReleaseUtilsTest
         return createReleaseDescriptor(AbstractReleaseTestCase.getPath( workingDirectory ) );
     }
 
-    private static ReleaseDescriptor createReleaseDescriptor( String workingDirectory )
+    private static ReleaseDescriptorBuilder createReleaseDescriptor( String workingDirectory )
     {
-        ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
+        ReleaseDescriptorBuilder releaseDescriptor = new ReleaseDescriptorBuilder();
         releaseDescriptor.setScmSourceUrl( "scm-url" );
         releaseDescriptor.setCompletedPhase( "completed-phase" );
         releaseDescriptor.setScmPrivateKeyPassPhrase( "passphrase" );

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