{
// this is here so the subclass can call it without getting the extra generateReleasePoms check in execute()
// above
super.execute();
ReleaseDescriptor config = createReleaseDescriptor();
config.setAddSchema( addSchema );
config.setGenerateReleasePoms( generateReleasePoms );
config.setScmUseEditMode( useEditMode );
config.setPreparationGoals( preparationGoals );
config.setCompletionGoals( completionGoals );
config.setCommitByProject( commitByProject );
config.setUpdateDependencies( updateDependencies );
config.setAutoVersionSubmodules( autoVersionSubmodules );
config.setAllowTimestampedSnapshots( allowTimestampedSnapshots );
config.setSnapshotReleasePluginAllowed( allowReleasePluginSnapshot );
config.setDefaultReleaseVersion( releaseVersion );
config.setDefaultDevelopmentVersion( developmentVersion );
config.setRemoteTagging( remoteTagging );
config.setUpdateWorkingCopyVersions( updateWorkingCopyVersions );
config.setSuppressCommitBeforeTagOrBranch( suppressCommitBeforeTag );
config.setWaitBeforeTagging( waitBeforeTagging );
if ( checkModificationExcludeList != null )
{
checkModificationExcludes = checkModificationExcludeList.replaceAll( "\\s", "" ).split( "," );
}
if ( checkModificationExcludes != null )
{
config.setCheckModificationExcludes( Arrays.asList( checkModificationExcludes ) );
}
// Create a config containing values from the session properties (ie command line properties with cli).
ReleaseDescriptor sysPropertiesConfig =
ReleaseUtils.copyPropertiesToReleaseDescriptor( session.getExecutionProperties() );
mergeCommandLineConfig( config, sysPropertiesConfig );
try
{