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 2021/04/02 10:32:52 UTC
[maven-release] 01/01: releaseProfiles get overriden by
activeProfiles
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MRELEASE-1042
in repository https://gitbox.apache.org/repos/asf/maven-release.git
commit f3ebecd91cc5d4fa038fcea1655614fae79b01d1
Author: Benoit Guerin <bg...@netceler.com>
AuthorDate: Mon May 18 23:39:04 2020 +0200
releaseProfiles get overriden by activeProfiles
Fix UnsupportedOperationException when altering releaseDescriptor.activateProfiles
---
.../shared/release/DefaultReleaseManager.java | 28 +++++++++++++++-------
.../shared/release/DefaultReleaseManagerTest.java | 2 +-
2 files changed, 21 insertions(+), 9 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 f023ab6..b449348 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
@@ -20,6 +20,7 @@ package org.apache.maven.shared.release;
*/
import java.io.File;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
@@ -304,21 +305,26 @@ public class DefaultReleaseManager
ReleaseUtils.buildReleaseDescriptor( performRequest.getReleaseDescriptorBuilder() )
.getActivateProfiles();
- ReleaseDescriptor releaseDescriptor =
- loadReleaseDescriptor( performRequest.getReleaseDescriptorBuilder(),
- performRequest.getReleaseManagerListener() );
+ ReleaseDescriptorBuilder builder =
+ loadReleaseDescriptorBuilder( performRequest.getReleaseDescriptorBuilder(),
+ performRequest.getReleaseManagerListener() );
if ( specificProfiles != null && !specificProfiles.isEmpty() )
{
+ List<String> allProfiles = new ArrayList<>();
+ allProfiles.addAll( ReleaseUtils.buildReleaseDescriptor( builder ).getActivateProfiles() );
for ( String specificProfile : specificProfiles )
{
- if ( !releaseDescriptor.getActivateProfiles().contains( specificProfile ) )
+ if ( !allProfiles.contains( specificProfile ) )
{
- releaseDescriptor.getActivateProfiles().add( specificProfile );
+ allProfiles.add( specificProfile );
}
}
+ builder.setActivateProfiles( allProfiles );
}
+ ReleaseDescriptor releaseDescriptor = ReleaseUtils.buildReleaseDescriptor( builder );
+
Strategy releaseStrategy = getStrategy( releaseDescriptor.getReleaseStrategyId() );
List<String> performPhases = getGoalPhases( releaseStrategy, "perform" );
@@ -522,12 +528,19 @@ public class DefaultReleaseManager
ReleaseManagerListener listener )
throws ReleaseExecutionException
{
+ return ReleaseUtils.buildReleaseDescriptor( loadReleaseDescriptorBuilder( builder, listener ) );
+ }
+
+ private ReleaseDescriptorBuilder loadReleaseDescriptorBuilder( ReleaseDescriptorBuilder builder,
+ ReleaseManagerListener listener )
+ throws ReleaseExecutionException
+ {
try
{
updateListener( listener, "verify-release-configuration", PHASE_START );
- BuilderReleaseDescriptor descriptor = ReleaseUtils.buildReleaseDescriptor( configStore.read( builder ) );
+ ReleaseDescriptorBuilder result = configStore.read( builder );
updateListener( listener, "verify-release-configuration", PHASE_END );
- return descriptor;
+ return result;
}
catch ( ReleaseDescriptorStoreException e )
{
@@ -537,7 +550,6 @@ public class DefaultReleaseManager
}
}
-
protected void clean( AbstractReleaseRequest releaseRequest ) throws ReleaseFailureException
{
ReleaseCleanRequest cleanRequest = new ReleaseCleanRequest();
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
index 8e024d0..bd11e2c 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
@@ -725,7 +725,7 @@ public class DefaultReleaseManagerTest
DefaultReleaseManager releaseManager = (DefaultReleaseManager) lookup( ReleaseManager.class, "test" );
ReleaseDescriptorBuilder secondBuilder = new ReleaseDescriptorBuilder();
- secondBuilder.setActivateProfiles( new ArrayList( Arrays.asList("aProfile", "bProfile") ) );
+ secondBuilder.setActivateProfiles( Arrays.asList("aProfile", "bProfile") );
secondBuilder.setScmSourceUrl( "scm-url" );
ReleaseDescriptorStore configStoreMock = mock( ReleaseDescriptorStore.class );
when( configStoreMock.read( any( ReleaseDescriptorBuilder.class ) ) ).thenReturn( secondBuilder );