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 <rfscho...@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
rfscho...@apache.org.

Reply via email to