This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MRELEASE-1097 in repository https://gitbox.apache.org/repos/asf/maven-release.git
commit 35f467b4d61e0ec94ac279974146d27d48c2531f Author: Hervé Boutemy <hbout...@apache.org> AuthorDate: Sun May 29 16:24:14 2022 +0200 [MRELEASE-1097] rework plugin output to clarify goal's phases --- maven-release-manager/pom.xml | 2 - .../shared/release/DefaultReleaseManager.java | 103 +++++++++++---------- .../release/DefaultReleaseManagerListener.java | 13 +-- .../release/phase/AbstractBackupPomsPhase.java | 4 +- .../release/phase/AbstractInputVariablesPhase.java | 9 +- .../release/phase/AbstractMapVersionsPhase.java | 6 +- .../release/phase/AbstractRewritePomsPhase.java | 10 +- .../release/phase/AbstractRunGoalsPhase.java | 8 +- .../release/phase/CheckoutProjectFromScm.java | 10 +- .../release/phase/CreateBackupPomsPhase.java | 2 + .../shared/release/phase/RunPerformGoalsPhase.java | 4 +- .../shared/release/strategies/DefaultStrategy.java | 2 +- .../shared/release/DefaultReleaseManagerTest.java | 6 +- maven-release-plugin/pom.xml | 7 -- .../it/projects/perform/MRELEASE-818/verify.groovy | 2 +- .../src/site/apt/examples/perform-release.apt.vm | 2 +- maven-release-plugin/src/site/apt/usage.apt.vm | 6 +- 17 files changed, 106 insertions(+), 90 deletions(-) diff --git a/maven-release-manager/pom.xml b/maven-release-manager/pom.xml index 60b10618..7b3d442c 100644 --- a/maven-release-manager/pom.xml +++ b/maven-release-manager/pom.xml @@ -238,9 +238,7 @@ <executions> <execution> <goals> - <goal>xpp3-reader</goal> <goal>java</goal> - <goal>xpp3-writer</goal> </goals> </execution> </executions> 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 c2732d9f..199dc7fd 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 @@ -72,8 +72,6 @@ public class DefaultReleaseManager */ private final AtomicReference<ReleaseDescriptorStore> configStore; - private static final int PHASE_SKIP = 0, PHASE_START = 1, PHASE_END = 2, GOAL_END = 12, ERROR = 99; - @Inject public DefaultReleaseManager( Map<String, Strategy> strategies, Map<String, ReleasePhase> releasePhases, @@ -187,7 +185,7 @@ public class DefaultReleaseManager for ( int idx = 0; idx <= index; idx++ ) { - updateListener( prepareRequest.getReleaseManagerListener(), preparePhases.get( idx ), PHASE_SKIP ); + phaseSkip( prepareRequest.getReleaseManagerListener(), preparePhases.get( idx ) ); } if ( index == preparePhases.size() - 1 ) @@ -212,7 +210,7 @@ public class DefaultReleaseManager throw new ReleaseExecutionException( "Unable to find phase '" + name + "' to execute" ); } - updateListener( prepareRequest.getReleaseManagerListener(), name, PHASE_START ); + phaseStart( prepareRequest.getReleaseManagerListener(), name ); ReleaseResult phaseResult = null; try @@ -249,10 +247,10 @@ public class DefaultReleaseManager throw new ReleaseExecutionException( "Error writing release properties after completing phase", e ); } - updateListener( prepareRequest.getReleaseManagerListener(), name, PHASE_END ); + phaseEnd( prepareRequest.getReleaseManagerListener() ); } - updateListener( prepareRequest.getReleaseManagerListener(), "prepare", GOAL_END ); + goalEnd( prepareRequest.getReleaseManagerListener() ); } @Override @@ -277,16 +275,16 @@ public class DefaultReleaseManager throw new ReleaseExecutionException( "Unable to find phase '" + name + "' to execute" ); } - updateListener( rollbackRequest.getReleaseManagerListener(), name, PHASE_START ); + phaseStart( rollbackRequest.getReleaseManagerListener(), name ); phase.execute( releaseDescriptor, rollbackRequest.getReleaseEnvironment(), rollbackRequest.getReactorProjects() ); - updateListener( rollbackRequest.getReleaseManagerListener(), name, PHASE_END ); + phaseEnd( rollbackRequest.getReleaseManagerListener() ); } //call release:clean so that resume will not be possible anymore after a rollback clean( rollbackRequest ); - updateListener( rollbackRequest.getReleaseManagerListener(), "rollback", GOAL_END ); + goalEnd( rollbackRequest.getReleaseManagerListener() ); } @Override @@ -363,7 +361,7 @@ public class DefaultReleaseManager throw new ReleaseExecutionException( "Unable to find phase '" + name + "' to execute" ); } - updateListener( performRequest.getReleaseManagerListener(), name, PHASE_START ); + phaseStart( performRequest.getReleaseManagerListener(), name ); ReleaseResult phaseResult = null; try @@ -389,7 +387,7 @@ public class DefaultReleaseManager } } - updateListener( performRequest.getReleaseManagerListener(), name, PHASE_END ); + phaseEnd( performRequest.getReleaseManagerListener() ); } if ( BooleanUtils.isNotFalse( performRequest.getClean() ) ) @@ -398,7 +396,7 @@ public class DefaultReleaseManager clean( performRequest ); } - updateListener( performRequest.getReleaseManagerListener(), "perform", GOAL_END ); + goalEnd( performRequest.getReleaseManagerListener() ); } @Override @@ -445,7 +443,7 @@ public class DefaultReleaseManager throw new ReleaseExecutionException( "Unable to find phase '" + name + "' to execute" ); } - updateListener( branchRequest.getReleaseManagerListener(), name, PHASE_START ); + phaseStart( branchRequest.getReleaseManagerListener(), name ); if ( dryRun ) { @@ -459,7 +457,8 @@ public class DefaultReleaseManager branchRequest.getReleaseEnvironment(), branchRequest.getReactorProjects() ); } - updateListener( branchRequest.getReleaseManagerListener(), name, PHASE_END ); + + phaseEnd( branchRequest.getReleaseManagerListener() ); } if ( !dryRun ) @@ -467,7 +466,7 @@ public class DefaultReleaseManager clean( branchRequest ); } - updateListener( branchRequest.getReleaseManagerListener(), "branch", GOAL_END ); + goalEnd( branchRequest.getReleaseManagerListener() ); } @Override @@ -513,16 +512,16 @@ public class DefaultReleaseManager throw new ReleaseExecutionException( "Unable to find phase '" + name + "' to execute" ); } - updateListener( updateVersionsRequest.getReleaseManagerListener(), name, PHASE_START ); + phaseStart( updateVersionsRequest.getReleaseManagerListener(), name ); phase.execute( releaseDescriptor, updateVersionsRequest.getReleaseEnvironment(), updateVersionsRequest.getReactorProjects() ); - updateListener( updateVersionsRequest.getReleaseManagerListener(), name, PHASE_END ); + phaseEnd( updateVersionsRequest.getReleaseManagerListener() ); } clean( updateVersionsRequest ); - updateListener( updateVersionsRequest.getReleaseManagerListener(), "updateVersions", GOAL_END ); + goalEnd( updateVersionsRequest.getReleaseManagerListener() ); } /** @@ -560,15 +559,10 @@ public class DefaultReleaseManager { try { - updateListener( listener, "verify-release-configuration", PHASE_START ); - ReleaseDescriptorBuilder result = configStore.get().read( builder ); - updateListener( listener, "verify-release-configuration", PHASE_END ); - return result; + return configStore.get().read( builder ); } catch ( ReleaseDescriptorStoreException e ) { - updateListener( listener, e.getMessage(), ERROR ); - throw new ReleaseExecutionException( "Error reading stored configuration: " + e.getMessage(), e ); } } @@ -592,8 +586,6 @@ public class DefaultReleaseManager @Override public void clean( ReleaseCleanRequest cleanRequest ) throws ReleaseFailureException { - updateListener( cleanRequest.getReleaseManagerListener(), "cleanup", PHASE_START ); - logger.info( "Cleaning up after release..." ); ReleaseDescriptor releaseDescriptor = @@ -616,8 +608,6 @@ public class DefaultReleaseManager ( (ResourceGenerator) phase ).clean( cleanRequest.getReactorProjects() ); } } - - updateListener( cleanRequest.getReleaseManagerListener(), "cleanup", PHASE_END ); } void goalStart( ReleaseManagerListener listener, String goal, List<String> phases ) @@ -628,27 +618,43 @@ public class DefaultReleaseManager } } - void updateListener( ReleaseManagerListener listener, String name, int state ) + void goalEnd( ReleaseManagerListener listener ) { if ( listener != null ) { - switch ( state ) - { - case GOAL_END: - listener.goalEnd(); - break; - case PHASE_SKIP: - listener.phaseSkip( name ); - break; - case PHASE_START: - listener.phaseStart( name ); - break; - case PHASE_END: - listener.phaseEnd(); - break; - default: - listener.error( name ); - } + listener.goalEnd(); + } + } + + void phaseSkip( ReleaseManagerListener listener, String name ) + { + if ( listener != null ) + { + listener.phaseSkip( name ); + } + } + + void phaseStart( ReleaseManagerListener listener, String name ) + { + if ( listener != null ) + { + listener.phaseStart( name ); + } + } + + void phaseEnd( ReleaseManagerListener listener ) + { + if ( listener != null ) + { + listener.phaseEnd(); + } + } + + void error( ReleaseManagerListener listener, String name ) + { + if ( listener != null ) + { + listener.error( name ); } } @@ -726,7 +732,10 @@ public class DefaultReleaseManager private void captureException( ReleaseResult result, ReleaseManagerListener listener, Exception e ) { - updateListener( listener, e.getMessage(), ERROR ); + if ( listener != null ) + { + listener.error( e.getMessage() ); + } result.appendError( e ); diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManagerListener.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManagerListener.java index 19295187..d177879e 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManagerListener.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManagerListener.java @@ -77,7 +77,7 @@ public class DefaultReleaseManagerListener public void goalStart( String goal, List<String> phases ) { - log.info( "starting " + buffer().strong( goal ) + " goal" + ( dryRun ? " in dry-run mode" : "" ) + log.info( "starting " + buffer().mojo( goal ) + " goal" + ( dryRun ? " in dry-run mode" : "" ) + ", composed of " + phases.size() + " phases: " + StringUtils.join( phases.iterator(), ", " ) ); currentPhase = -1; this.phases = phases; @@ -86,16 +86,9 @@ public class DefaultReleaseManagerListener public void phaseStart( String name ) { - if ( goal == null || ( ( currentPhase + 1 ) >= phases.size() ) ) - { - // out of goal phase - log.info( "phase " + buffer().strong( name ) + ( dryRun ? " (dry-run)" : "" ) ); - return; - } - nextPhase( name ); - log.info( buffer().strong( "[" + goal + ( dryRun ? " dry-run" : "" ) + "] " ).toString() + ( currentPhase + 1 ) - + "/" + phases.size() + " " + buffer().strong( name ) ); + log.info( ( currentPhase + 1 ) + "/" + phases.size() + ' ' + buffer().mojo( goal + ':' + name ) + + ( dryRun ? " dry-run" : "" ) ); } /** 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 25770ecb..c0fe0d18 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 @@ -32,7 +32,7 @@ import org.apache.maven.shared.release.util.ReleaseUtil; public abstract class AbstractBackupPomsPhase extends AbstractReleasePhase { - private final String backupSuffix = ".releaseBackup"; + protected static final String BACKUP_SUFFIX = ".releaseBackup"; /** * <p>getPomBackup.</p> @@ -46,7 +46,7 @@ public abstract class AbstractBackupPomsPhase if ( pomFile != null ) { - return new File( pomFile.getAbsolutePath() + backupSuffix ); + return new File( pomFile.getAbsolutePath() + BACKUP_SUFFIX ); } else { diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractInputVariablesPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractInputVariablesPhase.java index bae1798b..7a00671c 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractInputVariablesPhase.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractInputVariablesPhase.java @@ -52,6 +52,7 @@ import org.codehaus.plexus.interpolation.StringSearchInterpolator; import org.codehaus.plexus.util.StringUtils; import static java.util.Objects.requireNonNull; +import static org.apache.maven.shared.utils.logging.MessageUtils.buffer; /** * Input any variables that were not yet configured. @@ -230,7 +231,7 @@ public abstract class AbstractInputVariablesPhase if ( branchOperation ) { tag = prompter.get().prompt( "What is the branch name for \"" + project.getName() + "\"? (" - + project.getGroupId() + ":" + project.getArtifactId() + ")" ); + + buffer().project( project.getArtifactId() ) + ")" ); if ( StringUtils.isEmpty( tag ) ) { throw new ReleaseExecutionException( "No branch name was given." ); @@ -238,8 +239,10 @@ public abstract class AbstractInputVariablesPhase } else { - tag = prompter.get().prompt( "What is the SCM release tag or label for \"" + project.getName() - + "\"? (" + project.getGroupId() + ":" + project.getArtifactId() + ")", suggestedName ); + tag = prompter.get().prompt( + "What is the SCM release tag or label for \"" + project.getName() + + "\"? (" + buffer().project( project.getArtifactId() ) + ")", + suggestedName ); } } catch ( PrompterException e ) diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractMapVersionsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractMapVersionsPhase.java index b75a4b1d..61940e08 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractMapVersionsPhase.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractMapVersionsPhase.java @@ -41,6 +41,7 @@ import org.codehaus.plexus.components.interactivity.PrompterException; import org.codehaus.plexus.util.StringUtils; import static java.util.Objects.requireNonNull; +import static org.apache.maven.shared.utils.logging.MessageUtils.buffer; /** * Map projects to their new versions after release / into the next development cycle. @@ -308,9 +309,8 @@ public abstract class AbstractMapVersionsPhase { messageKey = getMapversionPromptKey( releaseDescriptor ); } - String message = - MessageFormat.format( resourceBundle.getString( messageKey ), project.getName(), - projectId ); + String message = MessageFormat.format( resourceBundle.getString( messageKey ), project.getName(), + buffer().project( project.getArtifactId() ) ); nextVersion = prompter.prompt( message, suggestedVersion ); //@todo validate next version, maybe with DefaultArtifactVersion 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 47525a46..9fc6b056 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 @@ -20,6 +20,7 @@ package org.apache.maven.shared.release.phase; */ import java.io.File; +import java.net.URI; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -64,6 +65,7 @@ import org.apache.maven.shared.release.util.ReleaseUtil; import org.codehaus.plexus.util.StringUtils; import static java.util.Objects.requireNonNull; +import static org.apache.maven.shared.utils.logging.MessageUtils.buffer; /** * Base class for rewriting phases. @@ -199,9 +201,15 @@ public abstract class AbstractRewritePomsPhase { result.setStartTime( ( startTime >= 0 ) ? startTime : System.currentTimeMillis() ); + URI root = ReleaseUtil.getRootProject( reactorProjects ).getBasedir().toURI(); + for ( MavenProject project : reactorProjects ) { - logInfo( result, "Transforming '" + project.getName() + "'..." ); + URI pom = project.getFile().toURI(); + logInfo( result, + "Transforming " + root.relativize( pom ).getPath() + ' ' + + buffer().project( project.getArtifactId() ) + " '" + project.getName() + "'" + + ( simulate ? " with ." + getPomSuffix() + " suffix" : "" ) + "..." ); transformProject( project, releaseDescriptor, releaseEnvironment, simulate, result ); } diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java index 67d4aed6..ce5df05c 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java @@ -33,6 +33,7 @@ import org.apache.maven.shared.release.exec.MavenExecutorException; import org.codehaus.plexus.util.StringUtils; import static java.util.Objects.requireNonNull; +import static org.apache.maven.shared.utils.logging.MessageUtils.buffer; /** * Abstract phase to run a Maven invocation on the project. @@ -71,11 +72,12 @@ public abstract class AbstractRunGoalsPhase String goals = getGoals( releaseDescriptor ); if ( !StringUtils.isEmpty( goals ) ) { - logInfo( result, "Executing goals '" + goals + "'..." ); - if ( logArguments && ( additionalArguments != null ) ) + logInfo( result, "Executing goals '" + buffer().strong( goals ) + "'..." ); + if ( logArguments ) { // logging arguments may log secrets: should be activated only on dryRun - logInfo( result, " with additional arguments: " + additionalArguments ); + logInfo( result, " with additional arguments: " + + ( additionalArguments == null ? "" : additionalArguments ) ); } MavenExecutor mavenExecutor = mavenExecutors.get( releaseEnvironment.getMavenExecutorId() ); diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java index 1eb3682b..406d2ac6 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java @@ -270,13 +270,19 @@ public class CheckoutProjectFromScm { ReleaseResult result = new ReleaseResult(); + MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects ); + File checkoutDirectory = + FileUtils.resolveFile( rootProject.getBasedir(), releaseDescriptor.getCheckoutDirectory() ); + if ( releaseDescriptor.isLocalCheckout() ) { - logInfo( result, "This would be a LOCAL check out to perform the release ..." ); + logInfo( result, + "This would be a LOCAL check out to perform the release from " + checkoutDirectory + "..." ); } else { - logInfo( result, "The project would be checked out to perform the release ..." ); + logInfo( result, + "The project would be checked out to perform the release from " + checkoutDirectory + "..." ); } result.setResultCode( ReleaseResult.SUCCESS ); 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 866c9a20..3a9ba41b 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 @@ -52,6 +52,8 @@ public class CreateBackupPomsPhase // remove previous backups, if any clean( reactorProjects ); + logInfo( result, "Creating pom.xml backup with " + BACKUP_SUFFIX + " suffix" ); + for ( MavenProject project : reactorProjects ) { createPomBackup( project ); diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RunPerformGoalsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RunPerformGoalsPhase.java index 4c008788..32bf357c 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RunPerformGoalsPhase.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RunPerformGoalsPhase.java @@ -23,6 +23,8 @@ import javax.inject.Inject; import javax.inject.Named; import javax.inject.Singleton; +import static org.apache.maven.shared.utils.logging.MessageUtils.buffer; + import java.io.File; import java.util.List; import java.util.Map; @@ -99,7 +101,7 @@ public class RunPerformGoalsPhase { ReleaseResult result = new ReleaseResult(); - logInfo( result, "Simulating perform goals '" + getGoals( releaseDescriptor ) + logInfo( result, "Simulating perform goals '" + buffer().strong( getGoals( releaseDescriptor ) ) + "' - since this is simulation mode these goals are skipped." ); logInfo( result, " with additional arguments: " + additionalArguments ); diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/strategies/DefaultStrategy.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/strategies/DefaultStrategy.java index 866af8f8..60b51485 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/strategies/DefaultStrategy.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/strategies/DefaultStrategy.java @@ -39,7 +39,7 @@ import org.apache.maven.shared.release.strategy.Strategy; public class DefaultStrategy implements Strategy { /** - * The phases of release to run, and in what order. + * The phases of release to run to prepare. */ private final List<String> preparePhases; 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 376b8a02..a7fcf702 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 @@ -612,6 +612,7 @@ public class DefaultReleaseManagerTest // prepare ReleasePerformRequest performRequest = new ReleasePerformRequest(); performRequest.setDryRun( true ); + performRequest.setReactorProjects( createReactorProjects() ); ReleaseManagerListener managerListener = mock( ReleaseManagerListener.class ); performRequest.setReleaseManagerListener( managerListener ); @@ -627,12 +628,10 @@ public class DefaultReleaseManagerTest releaseManager.perform( performRequest ); // verify - verify( managerListener ).phaseStart( "verify-release-configuration" ); verify( managerListener ).phaseStart( "verify-completed-prepare-phases" ); verify( managerListener ).phaseStart( "checkout-project-from-scm" ); verify( managerListener ).phaseStart( "run-perform-goals" ); - verify( managerListener ).phaseStart( "cleanup" ); - verify( managerListener, times( 5 ) ).phaseEnd(); + verify( managerListener, times( 3 ) ).phaseEnd(); // not part of actual test, but required to confirm 'no more interactions' verify( managerListener ).goalStart( anyString(), any() ); @@ -756,6 +755,7 @@ public class DefaultReleaseManagerTest // prepare ReleasePerformRequest performRequest = new ReleasePerformRequest(); performRequest.setDryRun( true ); + performRequest.setReactorProjects( createReactorProjects() ); ReleaseManagerListener managerListener = mock( ReleaseManagerListener.class ); performRequest.setReleaseManagerListener( managerListener ); diff --git a/maven-release-plugin/pom.xml b/maven-release-plugin/pom.xml index 7e8a7174..3e582d6f 100644 --- a/maven-release-plugin/pom.xml +++ b/maven-release-plugin/pom.xml @@ -116,13 +116,6 @@ <build> <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-site-plugin</artifactId> - <configuration> - <stagingSiteURL>scp://people.apache.org/www/maven.apache.org/plugins/${project.artifactId}-${project.version}</stagingSiteURL> - </configuration> - </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId> diff --git a/maven-release-plugin/src/it/projects/perform/MRELEASE-818/verify.groovy b/maven-release-plugin/src/it/projects/perform/MRELEASE-818/verify.groovy index 9057a562..a2dfd3bb 100644 --- a/maven-release-plugin/src/it/projects/perform/MRELEASE-818/verify.groovy +++ b/maven-release-plugin/src/it/projects/perform/MRELEASE-818/verify.groovy @@ -20,7 +20,7 @@ File buildLog = new File( basedir, 'build.log' ) assert buildLog.exists() -def localCheckoutExpr = /\Q[INFO] This would be a LOCAL check out to perform the release ...\E/ +def localCheckoutExpr = /\Q[INFO] This would be a LOCAL check out to perform the release from / def matcher = ( buildLog.getText() =~ localCheckoutExpr ) assert matcher.find() diff --git a/maven-release-plugin/src/site/apt/examples/perform-release.apt.vm b/maven-release-plugin/src/site/apt/examples/perform-release.apt.vm index 002c9fa3..d3dca4b6 100644 --- a/maven-release-plugin/src/site/apt/examples/perform-release.apt.vm +++ b/maven-release-plugin/src/site/apt/examples/perform-release.apt.vm @@ -29,7 +29,7 @@ Perform a Release Performing a release runs the following release phases {{{../../maven-release-manager/#perform}by default}}: - * Checkout from an SCM URL with optional tag + * Checkout from an SCM URL with optional tag to <<<workingDirectory>>> (<<<target/checkout>>> by default) * Run the perform Maven goals to release the project (by default, <<<deploy site-deploy>>>), eventually with release profile(s) active diff --git a/maven-release-plugin/src/site/apt/usage.apt.vm b/maven-release-plugin/src/site/apt/usage.apt.vm index 1e609d44..8353bc6c 100644 --- a/maven-release-plugin/src/site/apt/usage.apt.vm +++ b/maven-release-plugin/src/site/apt/usage.apt.vm @@ -80,7 +80,7 @@ mvn release:prepare -DdryRun ------ This will ask all the same questions, run the same tests, and output a copy of how the POMs will look after - transformation. You can check the output and review the POMs, then run: + transformation. You can check the output and review the POMs (with <<<.tag>>> and <<<.next>>> suffixes), then run: ------ mvn release:perform -DdryRun @@ -94,9 +94,9 @@ mvn release:perform -DdryRun builds through a build server). To use the default inputs for the versions and tag information and not prompt for any values, use Maven's <<<--batch-mode>>> setting: -+------ +------ mvn --batch-mode release:prepare -+------ +------ * Use a staging repository