org.apache.maven.shared.release
Class DefaultReleaseManager

java.lang.Object
  extended by org.codehaus.plexus.logging.AbstractLogEnabled
      extended by org.apache.maven.shared.release.DefaultReleaseManager
All Implemented Interfaces:
ReleaseManager, org.codehaus.plexus.logging.LogEnabled

public class DefaultReleaseManager
extends org.codehaus.plexus.logging.AbstractLogEnabled
implements ReleaseManager

Implementation of the release manager.

Author:
Brett Porter

Field Summary
 
Fields inherited from interface org.apache.maven.shared.release.ReleaseManager
ROLE
 
Constructor Summary
DefaultReleaseManager()
           
 
Method Summary
 void branch(ReleaseBranchRequest branchRequest)
          Branch a project
 void branch(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects, boolean dryRun)
          Branch a project
 void branch(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects, boolean dryRun, ReleaseManagerListener listener)
          Branch a project
 void branch(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects, boolean dryRun)
          Branch a project
 void branch(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects, boolean dryRun, ReleaseManagerListener listener)
          Branch a project
 void clean(ReleaseCleanRequest cleanRequest)
          Clean a release.
 void clean(ReleaseDescriptor releaseDescriptor, ReleaseManagerListener listener, List<MavenProject> reactorProjects)
          Clean a release.
protected  File determineWorkingDirectory(File checkoutDirectory, String relativePathProjectDirectory)
          Determines the path of the working directory.
 void perform(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects)
          Perform a release.
 void perform(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects, boolean clean)
          Perform a release, and optionally cleanup.
 void perform(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects, ReleaseManagerListener listener)
          Perform a release.
 void perform(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects, ReleaseManagerListener listener, boolean clean)
           
 void perform(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects)
          Perform a release.
 void perform(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects, boolean clean)
          Perform a release, and optionally cleanup.
 void perform(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects, ReleaseManagerListener listener)
          Perform a release.
 void perform(ReleasePerformRequest performRequest)
          Perform a release
 ReleaseResult performWithResult(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects, ReleaseManagerListener listener)
           
 ReleaseResult performWithResult(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects, ReleaseManagerListener listener)
           
 void prepare(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects)
          Prepare a release.
 void prepare(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects, boolean resume, boolean dryRun)
          Prepare a release.
 void prepare(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects, boolean resume, boolean dryRun, ReleaseManagerListener listener)
          Prepare a release.
 void prepare(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects)
          Prepare a release.
 void prepare(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects, boolean resume, boolean dryRun)
          Prepare a release.
 void prepare(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects, boolean resume, boolean dryRun, ReleaseManagerListener listener)
          Prepare a release.
 void prepare(ReleasePrepareRequest prepareRequest)
          Prepare a release.
 ReleaseResult prepareWithResult(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects, boolean resume, boolean dryRun, ReleaseManagerListener listener)
           
 ReleaseResult prepareWithResult(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects, boolean resume, boolean dryRun, ReleaseManagerListener listener)
           
 void rollback(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects)
          Rollback changes made by the previous release
 void rollback(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects, ReleaseManagerListener listener)
          Rollback changes made by the previous release
 void rollback(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects)
          Rollback changes made by the previous release
 void rollback(ReleaseDescriptor releaseDescriptor, Settings settings, List<MavenProject> reactorProjects, ReleaseManagerListener listener)
          Rollback changes made by the previous release
 void rollback(ReleaseRollbackRequest rollbackRequest)
          Rollback changes made by the previous release
 void updateVersions(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects)
          Update version numbers for a project
 void updateVersions(ReleaseUpdateVersionsRequest updateVersionsRequest)
          Update version numbers for a project
 
Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultReleaseManager

public DefaultReleaseManager()
Method Detail

prepare

public void prepare(ReleaseDescriptor releaseDescriptor,
                    ReleaseEnvironment releaseEnvironment,
                    List<MavenProject> reactorProjects)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Prepare a release.

Specified by:
prepare in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to pass to the preparation steps
releaseEnvironment - settings, maven-home, java-home, etc. to use during release.
reactorProjects - the reactor projects
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

prepare

public void prepare(ReleaseDescriptor releaseDescriptor,
                    ReleaseEnvironment releaseEnvironment,
                    List<MavenProject> reactorProjects,
                    boolean resume,
                    boolean dryRun)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Prepare a release.

Specified by:
prepare in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to pass to the preparation steps
releaseEnvironment - settings, maven-home, java-home, etc. to use during release.
reactorProjects - the reactor projects
resume - resume a previous release, if the properties file exists
dryRun - do not commit any changes to the file system or SCM
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

prepareWithResult

public ReleaseResult prepareWithResult(ReleaseDescriptor releaseDescriptor,
                                       ReleaseEnvironment releaseEnvironment,
                                       List<MavenProject> reactorProjects,
                                       boolean resume,
                                       boolean dryRun,
                                       ReleaseManagerListener listener)
Specified by:
prepareWithResult in interface ReleaseManager

prepare

public void prepare(ReleaseDescriptor releaseDescriptor,
                    ReleaseEnvironment releaseEnvironment,
                    List<MavenProject> reactorProjects,
                    boolean resume,
                    boolean dryRun,
                    ReleaseManagerListener listener)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Prepare a release.

Specified by:
prepare in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to pass to the preparation steps
releaseEnvironment - settings, maven-home, java-home, etc. to use during release.
reactorProjects - the reactor projects
resume - resume a previous release, if the properties file exists
dryRun - do not commit any changes to the file system or SCM
listener - the listener
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

prepare

public void prepare(ReleasePrepareRequest prepareRequest)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Prepare a release.

Specified by:
prepare in interface ReleaseManager
Parameters:
prepareRequest - all prepare arguments
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

rollback

public void rollback(ReleaseDescriptor releaseDescriptor,
                     ReleaseEnvironment releaseEnvironment,
                     List<MavenProject> reactorProjects)
              throws ReleaseExecutionException,
                     ReleaseFailureException
Rollback changes made by the previous release

Specified by:
rollback in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
releaseEnvironment - settings, maven-home, java-home, etc. to use during release.
reactorProjects - the reactor projects
Throws:
ReleaseExecutionException - if there is a problem during release rollback
ReleaseFailureException - if there is a problem during release rollback

rollback

public void rollback(ReleaseDescriptor releaseDescriptor,
                     ReleaseEnvironment releaseEnvironment,
                     List<MavenProject> reactorProjects,
                     ReleaseManagerListener listener)
              throws ReleaseExecutionException,
                     ReleaseFailureException
Rollback changes made by the previous release

Specified by:
rollback in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
releaseEnvironment - settings, maven-home, java-home, etc. to use during release.
reactorProjects - the reactor projects
listener - the listener
Throws:
ReleaseExecutionException - if there is a problem during release rollback
ReleaseFailureException - if there is a problem during release rollback

rollback

public void rollback(ReleaseRollbackRequest rollbackRequest)
              throws ReleaseExecutionException,
                     ReleaseFailureException
Rollback changes made by the previous release

Specified by:
rollback in interface ReleaseManager
Parameters:
rollbackRequest - all rollback arguments
Throws:
ReleaseExecutionException - if there is a problem during release rollback
ReleaseFailureException - if there is a problem during release rollback

perform

public void perform(ReleaseDescriptor releaseDescriptor,
                    ReleaseEnvironment releaseEnvironment,
                    List<MavenProject> reactorProjects)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Perform a release.

Specified by:
perform in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
releaseEnvironment - settings, maven-home, java-home, etc. to use during release.
reactorProjects - the reactor projects
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

perform

public void perform(ReleaseDescriptor releaseDescriptor,
                    ReleaseEnvironment releaseEnvironment,
                    List<MavenProject> reactorProjects,
                    boolean clean)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Perform a release, and optionally cleanup.

Specified by:
perform in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
releaseEnvironment - settings, maven-home, java-home, etc. to use during release.
reactorProjects - the reactor projects
clean - flag to clean the release after perform
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

perform

public void perform(ReleaseDescriptor releaseDescriptor,
                    ReleaseEnvironment releaseEnvironment,
                    List<MavenProject> reactorProjects,
                    ReleaseManagerListener listener)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Perform a release.

Specified by:
perform in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
releaseEnvironment - settings, maven-home, java-home, etc. to use during release.
reactorProjects - the reactor projects
listener - the listener
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

perform

public void perform(ReleaseDescriptor releaseDescriptor,
                    ReleaseEnvironment releaseEnvironment,
                    List<MavenProject> reactorProjects,
                    ReleaseManagerListener listener,
                    boolean clean)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Throws:
ReleaseExecutionException
ReleaseFailureException

performWithResult

public ReleaseResult performWithResult(ReleaseDescriptor releaseDescriptor,
                                       ReleaseEnvironment releaseEnvironment,
                                       List<MavenProject> reactorProjects,
                                       ReleaseManagerListener listener)
Specified by:
performWithResult in interface ReleaseManager

perform

public void perform(ReleasePerformRequest performRequest)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Perform a release

Specified by:
perform in interface ReleaseManager
Parameters:
performRequest - all perform arguments
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

branch

public void branch(ReleaseDescriptor releaseDescriptor,
                   ReleaseEnvironment releaseEnvironment,
                   List<MavenProject> reactorProjects,
                   boolean dryRun)
            throws ReleaseExecutionException,
                   ReleaseFailureException
Branch a project

Specified by:
branch in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
releaseEnvironment - settings, maven-home, java-home, etc. to use during release.
reactorProjects - the reactor projects
dryRun - do not commit any changes to the file system or SCM
Throws:
ReleaseExecutionException - if there is a problem during release branch
ReleaseFailureException - if there is a problem during release branch

branch

public void branch(ReleaseDescriptor releaseDescriptor,
                   ReleaseEnvironment releaseEnvironment,
                   List<MavenProject> reactorProjects,
                   boolean dryRun,
                   ReleaseManagerListener listener)
            throws ReleaseExecutionException,
                   ReleaseFailureException
Branch a project

Specified by:
branch in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
releaseEnvironment - settings, maven-home, java-home, etc. to use during release.
reactorProjects - the reactor projects
dryRun - do not commit any changes to the file system or SCM
listener - the listener
Throws:
ReleaseExecutionException - if there is a problem during release branch
ReleaseFailureException - if there is a problem during release branch

branch

public void branch(ReleaseBranchRequest branchRequest)
            throws ReleaseExecutionException,
                   ReleaseFailureException
Branch a project

Specified by:
branch in interface ReleaseManager
Parameters:
branchRequest - all branch arguments
Throws:
ReleaseExecutionException - if there is a problem during release branch
ReleaseFailureException - if there is a problem during release branch

updateVersions

public void updateVersions(ReleaseDescriptor releaseDescriptor,
                           ReleaseEnvironment releaseEnvironment,
                           List<MavenProject> reactorProjects)
                    throws ReleaseExecutionException,
                           ReleaseFailureException
Description copied from interface: ReleaseManager
Update version numbers for a project

Specified by:
updateVersions in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
releaseEnvironment - settings, maven-home, java-home, etc. to use during release.
reactorProjects - the reactor projects
Throws:
ReleaseExecutionException - if there is a problem during update versions
ReleaseFailureException - if there is a problem during update versions

updateVersions

public void updateVersions(ReleaseUpdateVersionsRequest updateVersionsRequest)
                    throws ReleaseExecutionException,
                           ReleaseFailureException
Update version numbers for a project

Specified by:
updateVersions in interface ReleaseManager
Parameters:
updateVersionsRequest - all update versions arguments
Throws:
ReleaseExecutionException - if there is a problem during update versions
ReleaseFailureException - if there is a problem during update versions

determineWorkingDirectory

protected File determineWorkingDirectory(File checkoutDirectory,
                                         String relativePathProjectDirectory)
Determines the path of the working directory. By default, this is the checkout directory. For some SCMs, the project root directory is not the checkout directory itself, but a SCM-specific subdirectory.

Parameters:
checkoutDirectory - The checkout directory as java.io.File
relativePathProjectDirectory - The relative path of the project directory within the checkout directory or ""
Returns:
The working directory

clean

public void clean(ReleaseDescriptor releaseDescriptor,
                  ReleaseManagerListener listener,
                  List<MavenProject> reactorProjects)
Clean a release.

Specified by:
clean in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
reactorProjects - the reactor projects

clean

public void clean(ReleaseCleanRequest cleanRequest)
Clean a release.

Specified by:
clean in interface ReleaseManager
Parameters:
cleanRequest - all clean arguments

branch

public void branch(ReleaseDescriptor releaseDescriptor,
                   Settings settings,
                   List<MavenProject> reactorProjects,
                   boolean dryRun)
            throws ReleaseExecutionException,
                   ReleaseFailureException
Branch a project

Specified by:
branch in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
settings - the settings.xml configuration
reactorProjects - the reactor projects
dryRun - do not commit any changes to the file system or SCM
Throws:
ReleaseExecutionException - if there is a problem during release branch
ReleaseFailureException - if there is a problem during release branch

branch

public void branch(ReleaseDescriptor releaseDescriptor,
                   Settings settings,
                   List<MavenProject> reactorProjects,
                   boolean dryRun,
                   ReleaseManagerListener listener)
            throws ReleaseExecutionException,
                   ReleaseFailureException
Branch a project

Specified by:
branch in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
settings - the settings.xml configuration
reactorProjects - the reactor projects
dryRun - do not commit any changes to the file system or SCM
listener - the listener
Throws:
ReleaseExecutionException - if there is a problem during release branch
ReleaseFailureException - if there is a problem during release branch

perform

public void perform(ReleaseDescriptor releaseDescriptor,
                    Settings settings,
                    List<MavenProject> reactorProjects)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Perform a release.

Specified by:
perform in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
settings - the settings.xml configuration
reactorProjects - the reactor projects
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

perform

public void perform(ReleaseDescriptor releaseDescriptor,
                    Settings settings,
                    List<MavenProject> reactorProjects,
                    ReleaseManagerListener listener)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Perform a release.

Specified by:
perform in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
settings - the settings.xml configuration
reactorProjects - the reactor projects
listener - the listener
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

perform

public void perform(ReleaseDescriptor releaseDescriptor,
                    Settings settings,
                    List<MavenProject> reactorProjects,
                    boolean clean)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Perform a release, and optionally cleanup.

Specified by:
perform in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
settings - the settings.xml configuration
reactorProjects - the reactor projects
clean - flag to clean the release after perform
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

performWithResult

public ReleaseResult performWithResult(ReleaseDescriptor releaseDescriptor,
                                       Settings settings,
                                       List<MavenProject> reactorProjects,
                                       ReleaseManagerListener listener)
Specified by:
performWithResult in interface ReleaseManager

prepare

public void prepare(ReleaseDescriptor releaseDescriptor,
                    Settings settings,
                    List<MavenProject> reactorProjects)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Prepare a release.

Specified by:
prepare in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to pass to the preparation steps
settings - the settings.xml configuration
reactorProjects - the reactor projects
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

prepare

public void prepare(ReleaseDescriptor releaseDescriptor,
                    Settings settings,
                    List<MavenProject> reactorProjects,
                    boolean resume,
                    boolean dryRun)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Prepare a release.

Specified by:
prepare in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to pass to the preparation steps
settings - the settings.xml configuration
reactorProjects - the reactor projects
resume - resume a previous release, if the properties file exists
dryRun - do not commit any changes to the file system or SCM
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

prepare

public void prepare(ReleaseDescriptor releaseDescriptor,
                    Settings settings,
                    List<MavenProject> reactorProjects,
                    boolean resume,
                    boolean dryRun,
                    ReleaseManagerListener listener)
             throws ReleaseExecutionException,
                    ReleaseFailureException
Prepare a release.

Specified by:
prepare in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to pass to the preparation steps
settings - the settings.xml configuration
reactorProjects - the reactor projects
resume - resume a previous release, if the properties file exists
dryRun - do not commit any changes to the file system or SCM
listener - the listener
Throws:
ReleaseExecutionException - if there is a problem performing the release
ReleaseFailureException - if there is a problem performing the release

prepareWithResult

public ReleaseResult prepareWithResult(ReleaseDescriptor releaseDescriptor,
                                       Settings settings,
                                       List<MavenProject> reactorProjects,
                                       boolean resume,
                                       boolean dryRun,
                                       ReleaseManagerListener listener)
Specified by:
prepareWithResult in interface ReleaseManager

rollback

public void rollback(ReleaseDescriptor releaseDescriptor,
                     Settings settings,
                     List<MavenProject> reactorProjects,
                     ReleaseManagerListener listener)
              throws ReleaseExecutionException,
                     ReleaseFailureException
Rollback changes made by the previous release

Specified by:
rollback in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
settings - the settings.xml configuration
reactorProjects - the reactor projects
listener - the listener
Throws:
ReleaseExecutionException - if there is a problem during release rollback
ReleaseFailureException - if there is a problem during release rollback

rollback

public void rollback(ReleaseDescriptor releaseDescriptor,
                     Settings settings,
                     List<MavenProject> reactorProjects)
              throws ReleaseExecutionException,
                     ReleaseFailureException
Rollback changes made by the previous release

Specified by:
rollback in interface ReleaseManager
Parameters:
releaseDescriptor - the configuration to use for release
settings - the settings.xml configuration
reactorProjects - the reactor projects
Throws:
ReleaseExecutionException - if there is a problem during release rollback
ReleaseFailureException - if there is a problem during release rollback


Copyright © 2002-2012 The Apache Software Foundation. All Rights Reserved.