You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2006/08/30 06:03:49 UTC
svn commit: r438341 [1/5] - in /maven/plugins/trunk/maven-release-plugin/src:
main/java/org/apache/maven/plugins/release/
main/java/org/apache/maven/plugins/release/config/
main/java/org/apache/maven/plugins/release/phase/
main/java/org/apache/maven/pl...
Author: brett
Date: Tue Aug 29 21:03:46 2006
New Revision: 438341
URL: http://svn.apache.org/viewvc?rev=438341&view=rev
Log:
[MRELEASE-130] refactor to use a generated release descriptor instead of the release configuration class
Submitted by: Jeremy Whitlock
Added:
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/PropertiesReleaseDescriptorStore.java
- copied, changed from r438319, maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStore.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseDescriptorStore.java
- copied, changed from r438319, maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStore.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseDescriptorStoreException.java
- copied, changed from r438319, maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStoreException.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseUtils.java (with props)
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/PropertiesReleaseDescriptorStoreTest.java
- copied, changed from r438319, maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStoreTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/ReleaseDescriptorStoreStub.java
- copied, changed from r438319, maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStoreStub.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/ReleaseDescriptorTest.java
- copied, changed from r438319, maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/ReleaseConfigurationTest.java
Removed:
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStore.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseConfiguration.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStore.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStoreException.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStoreTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStoreStub.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/ReleaseConfigurationTest.java
Modified:
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/CleanReleaseMojo.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/DefaultReleaseManager.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/ReleaseManager.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/AbstractReleasePhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/AbstractRewritePomsPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/CheckDependencySnapshotsPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/CheckPomPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/EndReleasePhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/GenerateReleasePomsPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/InputVariablesPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/MapVersionsPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/ReleasePhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RemoveReleasePomsPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForDevelopmentPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RunGoalsPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/ScmCheckModificationsPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/ScmCommitPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/ScmTagPhase.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/DefaultScmRepositoryConfigurator.java
maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/ScmRepositoryConfigurator.java
maven/plugins/trunk/maven-release-plugin/src/main/mdo/release-descriptor.mdo
maven/plugins/trunk/maven-release-plugin/src/main/resources/META-INF/plexus/components.xml
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/CleanReleaseMojoTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/DefaultReleaseManagerTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/AbstractReleaseTestCase.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/AbstractRewritingReleasePhaseTestCase.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/CheckDependencySnapshotsPhaseTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/CheckPomPhaseTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/EndReleasePhaseTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/InputVariablesPhaseTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/MapVersionsPhaseTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/ReleasePhaseStub.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForDevelopmentPhaseTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RunGoalsPhaseTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/ScmCheckModificationsPhaseTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/ScmCommitPhaseTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/ScmTagPhaseTest.java
maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/scm/DefaultScmRepositoryConfiguratorTest.java
maven/plugins/trunk/maven-release-plugin/src/test/resources/org/apache/maven/plugins/release/DefaultReleaseManagerTest.xml
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java Tue Aug 29 21:03:46 2006
@@ -18,7 +18,7 @@
import org.apache.maven.model.Profile;
import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
import org.apache.maven.project.MavenProject;
import org.apache.maven.settings.Settings;
import org.codehaus.plexus.util.StringUtils;
@@ -70,14 +70,14 @@
* @required
* @readonly
*/
- private File basedir;
+ protected File basedir;
/**
* @parameter expression="${settings}"
* @required
* @readonly
*/
- private Settings settings;
+ protected Settings settings;
/**
* @parameter expression="${project}"
@@ -105,17 +105,27 @@
*/
private String pomFileName;
- protected ReleaseConfiguration createReleaseConfiguration()
+ /**
+ * @parameter expression="${reactorProjects}"
+ * @required
+ * @readonly
+ */
+ protected List reactorProjects;
+
+ protected ReleaseDescriptor createReleaseDescriptor()
{
- ReleaseConfiguration config = new ReleaseConfiguration();
- config.setInteractive( settings.isInteractiveMode() );
- config.setPassword( password );
- config.setReleaseLabel( tag );
- config.setSettings( settings );
- config.setTagBase( tagBase );
- config.setUsername( username );
- config.setWorkingDirectory( basedir );
- config.setPomFileName( pomFileName );
+ ReleaseDescriptor descriptor = new ReleaseDescriptor();
+
+ descriptor.setInteractive( settings.isInteractiveMode() );
+
+ descriptor.setScmPassword( password );
+ descriptor.setScmReleaseLabel( tag );
+ descriptor.setScmTagBase( tagBase );
+ descriptor.setScmUsername( username );
+
+ descriptor.setWorkingDirectory( basedir.getAbsolutePath() );
+
+ descriptor.setPomFileName( pomFileName );
List profiles = project.getActiveProfiles();
@@ -142,9 +152,9 @@
}
}
}
- config.setAdditionalArguments( arguments );
+ descriptor.setAdditionalArguments( arguments );
- return config;
+ return descriptor;
}
void setReleaseManager( ReleaseManager releaseManager )
@@ -155,5 +165,15 @@
Settings getSettings()
{
return settings;
+ }
+
+ public void setBasedir( File basedir )
+ {
+ this.basedir = basedir;
+ }
+
+ public List getReactorProjects()
+ {
+ return reactorProjects;
}
}
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/CleanReleaseMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/CleanReleaseMojo.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/CleanReleaseMojo.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/CleanReleaseMojo.java Tue Aug 29 21:03:46 2006
@@ -18,9 +18,7 @@
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
-
-import java.util.List;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
/**
* Clean up after a release preparation.
@@ -33,23 +31,11 @@
public class CleanReleaseMojo
extends AbstractReleaseMojo
{
- /**
- * @parameter expression="${reactorProjects}"
- * @required
- * @readonly
- */
- private List reactorProjects;
-
public void execute()
throws MojoExecutionException, MojoFailureException
{
- ReleaseConfiguration releaseConfiguration = new ReleaseConfiguration();
- releaseConfiguration.setReactorProjects( reactorProjects );
- releaseManager.clean( releaseConfiguration );
- }
-
- List getReactorProjects()
- {
- return reactorProjects;
+ ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
+ releaseDescriptor.setWorkingDirectory( basedir.getAbsolutePath() );
+ releaseManager.clean( releaseDescriptor, reactorProjects );
}
}
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/DefaultReleaseManager.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/DefaultReleaseManager.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/DefaultReleaseManager.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/DefaultReleaseManager.java Tue Aug 29 21:03:46 2006
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
-import org.apache.maven.plugins.release.config.ReleaseConfigurationStore;
-import org.apache.maven.plugins.release.config.ReleaseConfigurationStoreException;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
+import org.apache.maven.plugins.release.config.ReleaseDescriptorStore;
+import org.apache.maven.plugins.release.config.ReleaseDescriptorStoreException;
import org.apache.maven.plugins.release.exec.MavenExecutor;
import org.apache.maven.plugins.release.exec.MavenExecutorException;
import org.apache.maven.plugins.release.phase.ReleasePhase;
@@ -32,6 +32,7 @@
import org.apache.maven.scm.provider.ScmProvider;
import org.apache.maven.scm.repository.ScmRepository;
import org.apache.maven.scm.repository.ScmRepositoryException;
+import org.apache.maven.settings.Settings;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.StringUtils;
@@ -64,7 +65,7 @@
/**
* The configuration storage.
*/
- private ReleaseConfigurationStore configStore;
+ private ReleaseDescriptorStore configStore;
/**
* Tool for configuring SCM repositories from release configuration.
@@ -76,30 +77,31 @@
*/
private MavenExecutor mavenExecutor;
- public void prepare( ReleaseConfiguration releaseConfiguration )
+ public void prepare( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException
{
- prepare( releaseConfiguration, true, false );
+ prepare( releaseDescriptor, settings, reactorProjects, true, false );
}
- public void prepare( ReleaseConfiguration releaseConfiguration, boolean resume, boolean dryRun )
+ public void prepare( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects, boolean resume,
+ boolean dryRun )
throws ReleaseExecutionException, ReleaseFailureException
{
- ReleaseConfiguration config;
+ ReleaseDescriptor config;
if ( resume )
{
try
{
- config = configStore.read( releaseConfiguration );
+ config = configStore.read( releaseDescriptor );
}
- catch ( ReleaseConfigurationStoreException e )
+ catch ( ReleaseDescriptorStoreException e )
{
throw new ReleaseExecutionException( "Error reading stored configuration: " + e.getMessage(), e );
}
}
else
{
- config = releaseConfiguration;
+ config = releaseDescriptor;
}
// Later, it would be a good idea to introduce a proper workflow tool so that the release can be made up of a
@@ -132,11 +134,11 @@
if ( dryRun )
{
- phase.simulate( config );
+ phase.simulate( config, settings, reactorProjects );
}
else
{
- phase.execute( config );
+ phase.execute( config, settings, reactorProjects );
}
config.setCompletedPhase( name );
@@ -144,7 +146,7 @@
{
configStore.write( config );
}
- catch ( ReleaseConfigurationStoreException e )
+ catch ( ReleaseDescriptorStoreException e )
{
// TODO: rollback?
throw new ReleaseExecutionException( "Error writing release properties after completing phase", e );
@@ -152,18 +154,18 @@
}
}
- public void perform( ReleaseConfiguration releaseConfiguration, File checkoutDirectory, String goals,
- boolean useReleaseProfile )
+ public void perform( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects,
+ File checkoutDirectory, String goals, boolean useReleaseProfile )
throws ReleaseExecutionException, ReleaseFailureException
{
getLogger().info( "Checking out the project to perform the release ..." );
- ReleaseConfiguration config;
+ ReleaseDescriptor config;
try
{
- config = configStore.read( releaseConfiguration );
+ config = configStore.read( releaseDescriptor );
}
- catch ( ReleaseConfigurationStoreException e )
+ catch ( ReleaseDescriptorStoreException e )
{
throw new ReleaseExecutionException( "Error reading stored configuration: " + e.getMessage(), e );
}
@@ -175,7 +177,7 @@
"Cannot perform release - the preparation step was stopped mid-way. Please re-run release:prepare to continue, or perform the release from an SCM tag." );
}
- if ( config.getUrl() == null )
+ if ( config.getScmSourceUrl() == null )
{
throw new ReleaseFailureException( "No SCM URL was provided to perform the release from" );
}
@@ -184,7 +186,7 @@
ScmProvider provider;
try
{
- repository = scmRepositoryConfigurator.getConfiguredRepository( config );
+ repository = scmRepositoryConfigurator.getConfiguredRepository( config, settings );
provider = scmRepositoryConfigurator.getRepositoryProvider( repository );
}
@@ -215,7 +217,7 @@
CheckOutScmResult result;
try
{
- result = provider.checkOut( repository, new ScmFileSet( checkoutDirectory ), config.getReleaseLabel() );
+ result = provider.checkOut( repository, new ScmFileSet( checkoutDirectory ), config.getScmReleaseLabel() );
}
catch ( ScmException e )
{
@@ -250,14 +252,14 @@
throw new ReleaseExecutionException( "Error executing Maven: " + e.getMessage(), e );
}
- clean( config );
+ clean( config, reactorProjects );
}
- public void clean( ReleaseConfiguration releaseConfiguration )
+ public void clean( ReleaseDescriptor releaseDescriptor, List reactorProjects )
{
getLogger().info( "Cleaning up after release..." );
- configStore.delete( releaseConfiguration );
+ configStore.delete( releaseDescriptor );
for ( Iterator i = phases.iterator(); i.hasNext(); )
{
@@ -265,11 +267,11 @@
ReleasePhase phase = (ReleasePhase) releasePhases.get( name );
- phase.clean( releaseConfiguration );
+ phase.clean( reactorProjects );
}
}
- void setConfigStore( ReleaseConfigurationStore configStore )
+ void setConfigStore( ReleaseDescriptorStore configStore )
{
this.configStore = configStore;
}
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java Tue Aug 29 21:03:46 2006
@@ -18,7 +18,7 @@
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
import java.io.File;
@@ -71,10 +71,10 @@
try
{
// Note that the working directory here is not the same as in the release configuration, so don't reuse that
- ReleaseConfiguration releaseConfiguration = createReleaseConfiguration();
+ ReleaseDescriptor releaseDescriptor = createReleaseDescriptor();
if ( connectionUrl != null )
{
- releaseConfiguration.setUrl( connectionUrl );
+ releaseDescriptor.setScmSourceUrl( connectionUrl );
}
if ( goals == null )
@@ -88,7 +88,8 @@
}
}
- releaseManager.perform( releaseConfiguration, workingDirectory, goals, useReleaseProfile );
+ releaseManager.perform( releaseDescriptor, settings, reactorProjects, workingDirectory, goals,
+ useReleaseProfile );
}
catch ( ReleaseExecutionException e )
{
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java Tue Aug 29 21:03:46 2006
@@ -18,9 +18,7 @@
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
-
-import java.util.List;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
/**
* Prepare for a release in SCM.
@@ -38,12 +36,6 @@
public class PrepareReleaseMojo
extends AbstractReleaseMojo
{
- /**
- * @parameter expression="${reactorProjects}"
- * @required
- * @readonly
- */
- private List reactorProjects;
/**
* Resume a previous release attempt from the point that it was stopped.
@@ -91,29 +83,18 @@
*/
private String preparationGoals;
- /**
- * Whether to generate the release descriptor as part of the preparation process.
- *
- * @parameter expression="${generateReleaseDescriptor}" default-value="true"
- */
- //TODO:JW add to the release configuration and follow through to the release manager where you can
- // add a new phase to generate the release descriptor which can optionally send the release descriptor
- // to continuum via a web service.
- private boolean generateReleaseDescriptor;
-
public void execute()
throws MojoExecutionException, MojoFailureException
{
- ReleaseConfiguration config = createReleaseConfiguration();
+ ReleaseDescriptor config = createReleaseDescriptor();
config.setAddSchema( addSchema );
config.setGenerateReleasePoms( generateReleasePoms );
- config.setReactorProjects( reactorProjects );
- config.setUseEditMode( useEditMode );
+ config.setScmUseEditMode( useEditMode );
config.setPreparationGoals( preparationGoals );
try
{
- releaseManager.prepare( config, resume, dryRun );
+ releaseManager.prepare( config, settings, reactorProjects, resume, dryRun );
}
catch ( ReleaseExecutionException e )
{
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/ReleaseManager.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/ReleaseManager.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/ReleaseManager.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/ReleaseManager.java Tue Aug 29 21:03:46 2006
@@ -16,9 +16,11 @@
* limitations under the License.
*/
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
+import org.apache.maven.settings.Settings;
import java.io.File;
+import java.util.List;
/**
* Release management classes.
@@ -35,43 +37,50 @@
/**
* Prepare a release.
*
- * @param releaseConfiguration the configuration to pass to the preparation steps
+ * @param releaseDescriptor the configuration to pass to the preparation steps
+ * @param settings the settings.xml configuration
+ * @param reactorProjects the reactor projects
* @throws ReleaseExecutionException if there is a problem performing the release
* @throws ReleaseFailureException if there is a problem performing the release
*/
- void prepare( ReleaseConfiguration releaseConfiguration )
+ void prepare( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException;
/**
* Prepare a release.
*
- * @param releaseConfiguration the configuration to pass to the preparation steps
- * @param resume resume a previous release, if the properties file exists
- * @param dryRun do not commit any changes to the file system or SCM
+ * @param releaseDescriptor the configuration to pass to the preparation steps
+ * @param settings the settings.xml configuration
+ * @param reactorProjects the reactor projects
+ * @param resume resume a previous release, if the properties file exists
+ * @param dryRun do not commit any changes to the file system or SCM
* @throws ReleaseExecutionException if there is a problem performing the release
* @throws ReleaseFailureException if there is a problem performing the release
*/
- void prepare( ReleaseConfiguration releaseConfiguration, boolean resume, boolean dryRun )
+ void prepare( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects, boolean resume,
+ boolean dryRun )
throws ReleaseExecutionException, ReleaseFailureException;
/**
* Perform a release.
*
- * @param releaseConfiguration the configuration to use for release
- * @param checkoutDirectory the location to checkout to and build from
- * @param goals the goals to execute
- * @param useReleaseProfile whether to use the release profile from the super POM or not
+ * @param releaseDescriptor the configuration to use for release
+ * @param settings the settings.xml configuration
+ * @param checkoutDirectory the location to checkout to and build from
+ * @param goals the goals to execute
+ * @param useReleaseProfile whether to use the release profile from the super POM or not
* @throws ReleaseExecutionException if there is a problem performing the release
* @throws ReleaseFailureException if there is a problem performing the release
*/
- void perform( ReleaseConfiguration releaseConfiguration, File checkoutDirectory, String goals,
- boolean useReleaseProfile )
+ void perform( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects, File checkoutDirectory,
+ String goals, boolean useReleaseProfile )
throws ReleaseExecutionException, ReleaseFailureException;
/**
* Clean a release.
*
- * @param releaseConfiguration the configuration to use for release
+ * @param releaseDescriptor the configuration to use for release
+ * @param reactorProjects the reactor projects
*/
- void clean( ReleaseConfiguration releaseConfiguration );
+ void clean( ReleaseDescriptor releaseDescriptor, List reactorProjects );
}
Copied: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/PropertiesReleaseDescriptorStore.java (from r438319, maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStore.java)
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/PropertiesReleaseDescriptorStore.java?p2=maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/PropertiesReleaseDescriptorStore.java&p1=maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStore.java&r1=438319&r2=438341&rev=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStore.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/PropertiesReleaseDescriptorStore.java Tue Aug 29 21:03:46 2006
@@ -36,24 +36,24 @@
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
-public class PropertiesReleaseConfigurationStore
+public class PropertiesReleaseDescriptorStore
extends AbstractLogEnabled
- implements ReleaseConfigurationStore
+ implements ReleaseDescriptorStore
{
- public ReleaseConfiguration read( ReleaseConfiguration mergeConfiguration )
- throws ReleaseConfigurationStoreException
+ public ReleaseDescriptor read( ReleaseDescriptor mergeDescriptor )
+ throws ReleaseDescriptorStoreException
{
- return read( mergeConfiguration, getDefaultReleasePropertiesFile( mergeConfiguration ) );
+ return read( mergeDescriptor, getDefaultReleasePropertiesFile( mergeDescriptor ) );
}
- public ReleaseConfiguration read( File file )
- throws ReleaseConfigurationStoreException
+ public ReleaseDescriptor read( File file )
+ throws ReleaseDescriptorStoreException
{
return read( null, file );
}
- public ReleaseConfiguration read( ReleaseConfiguration mergeConfiguration, File file )
- throws ReleaseConfigurationStoreException
+ public ReleaseDescriptor read( ReleaseDescriptor mergeDescriptor, File file )
+ throws ReleaseDescriptorStoreException
{
Properties properties = new Properties();
@@ -70,7 +70,7 @@
}
catch ( IOException e )
{
- throw new ReleaseConfigurationStoreException(
+ throw new ReleaseDescriptorStoreException(
"Error reading properties file '" + file.getName() + "': " + e.getMessage(), e );
}
finally
@@ -78,18 +78,18 @@
IOUtil.close( inStream );
}
- ReleaseConfiguration releaseConfiguration = new ReleaseConfiguration();
- releaseConfiguration.setCompletedPhase( properties.getProperty( "completedPhase" ) );
- releaseConfiguration.setUrl( properties.getProperty( "scm.url" ) );
- releaseConfiguration.setUsername( properties.getProperty( "scm.username" ) );
- releaseConfiguration.setPassword( properties.getProperty( "scm.password" ) );
- releaseConfiguration.setPrivateKey( properties.getProperty( "scm.privateKey" ) );
- releaseConfiguration.setPassphrase( properties.getProperty( "scm.passphrase" ) );
- releaseConfiguration.setTagBase( properties.getProperty( "scm.tagBase" ) );
- releaseConfiguration.setReleaseLabel( properties.getProperty( "scm.tag" ) );
- releaseConfiguration.setAdditionalArguments( properties.getProperty( "exec.additionalArguments" ) );
- releaseConfiguration.setPomFileName( properties.getProperty( "exec.pomFileName" ) );
- releaseConfiguration.setPreparationGoals( properties.getProperty( "preparationGoals" ) );
+ ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
+ releaseDescriptor.setCompletedPhase( properties.getProperty( "completedPhase" ) );
+ releaseDescriptor.setScmSourceUrl( properties.getProperty( "scm.url" ) );
+ releaseDescriptor.setScmUsername( properties.getProperty( "scm.username" ) );
+ releaseDescriptor.setScmPassword( properties.getProperty( "scm.password" ) );
+ releaseDescriptor.setScmPrivateKey( properties.getProperty( "scm.privateKey" ) );
+ releaseDescriptor.setScmPrivateKeyPassPhrase( properties.getProperty( "scm.passphrase" ) );
+ releaseDescriptor.setScmTagBase( properties.getProperty( "scm.tagBase" ) );
+ releaseDescriptor.setScmReleaseLabel( properties.getProperty( "scm.tag" ) );
+ releaseDescriptor.setAdditionalArguments( properties.getProperty( "exec.additionalArguments" ) );
+ releaseDescriptor.setPomFileName( properties.getProperty( "exec.pomFileName" ) );
+ releaseDescriptor.setPreparationGoals( properties.getProperty( "preparationGoals" ) );
// boolean properties are not written to the properties file because the value from the caller is always used
@@ -98,13 +98,13 @@
String property = (String) i.next();
if ( property.startsWith( "project.rel." ) )
{
- releaseConfiguration.mapReleaseVersion( property.substring( "project.rel.".length() ),
- properties.getProperty( property ) );
+ releaseDescriptor.mapReleaseVersion( property.substring( "project.rel.".length() ),
+ properties.getProperty( property ) );
}
else if ( property.startsWith( "project.dev." ) )
{
- releaseConfiguration.mapDevelopmentVersion( property.substring( "project.dev.".length() ),
- properties.getProperty( property ) );
+ releaseDescriptor.mapDevelopmentVersion( property.substring( "project.dev.".length() ),
+ properties.getProperty( property ) );
}
else if ( property.startsWith( "project.scm." ) )
{
@@ -113,11 +113,11 @@
{
String key = property.substring( "project.scm.".length(), index );
- if ( !releaseConfiguration.getOriginalScmInfo().containsKey( key ) )
+ if ( !releaseDescriptor.getOriginalScmInfo().containsKey( key ) )
{
if ( properties.getProperty( "project.scm." + key + ".empty" ) != null )
{
- releaseConfiguration.mapOriginalScmInfo( key, null );
+ releaseDescriptor.mapOriginalScmInfo( key, null );
}
else
{
@@ -128,28 +128,28 @@
scm.setUrl( properties.getProperty( "project.scm." + key + ".url" ) );
scm.setTag( properties.getProperty( "project.scm." + key + ".tag" ) );
- releaseConfiguration.mapOriginalScmInfo( key, scm );
+ releaseDescriptor.mapOriginalScmInfo( key, scm );
}
}
}
}
}
- if ( mergeConfiguration != null )
+ if ( mergeDescriptor != null )
{
- releaseConfiguration.merge( mergeConfiguration );
+ releaseDescriptor = ReleaseUtils.merge( releaseDescriptor, mergeDescriptor );
}
- return releaseConfiguration;
+ return releaseDescriptor;
}
- public void write( ReleaseConfiguration config )
- throws ReleaseConfigurationStoreException
+ public void write( ReleaseDescriptor config )
+ throws ReleaseDescriptorStoreException
{
write( config, getDefaultReleasePropertiesFile( config ) );
}
- public void delete( ReleaseConfiguration config )
+ public void delete( ReleaseDescriptor config )
{
File file = getDefaultReleasePropertiesFile( config );
if ( file.exists() )
@@ -158,35 +158,35 @@
}
}
- public void write( ReleaseConfiguration config, File file )
- throws ReleaseConfigurationStoreException
+ public void write( ReleaseDescriptor config, File file )
+ throws ReleaseDescriptorStoreException
{
Properties properties = new Properties();
properties.setProperty( "completedPhase", config.getCompletedPhase() );
- properties.setProperty( "scm.url", config.getUrl() );
- if ( config.getUsername() != null )
+ properties.setProperty( "scm.url", config.getScmSourceUrl() );
+ if ( config.getScmUsername() != null )
{
- properties.setProperty( "scm.username", config.getUsername() );
+ properties.setProperty( "scm.username", config.getScmUsername() );
}
- if ( config.getPassword() != null )
+ if ( config.getScmPassword() != null )
{
- properties.setProperty( "scm.password", config.getPassword() );
+ properties.setProperty( "scm.password", config.getScmPassword() );
}
- if ( config.getPrivateKey() != null )
+ if ( config.getScmPrivateKey() != null )
{
- properties.setProperty( "scm.privateKey", config.getPrivateKey() );
+ properties.setProperty( "scm.privateKey", config.getScmPrivateKey() );
}
- if ( config.getPassphrase() != null )
+ if ( config.getScmPrivateKeyPassPhrase() != null )
{
- properties.setProperty( "scm.passphrase", config.getPassphrase() );
+ properties.setProperty( "scm.passphrase", config.getScmPrivateKeyPassPhrase() );
}
- if ( config.getTagBase() != null )
+ if ( config.getScmTagBase() != null )
{
- properties.setProperty( "scm.tagBase", config.getTagBase() );
+ properties.setProperty( "scm.tagBase", config.getScmTagBase() );
}
- if ( config.getReleaseLabel() != null )
+ if ( config.getScmReleaseLabel() != null )
{
- properties.setProperty( "scm.tag", config.getReleaseLabel() );
+ properties.setProperty( "scm.tag", config.getScmReleaseLabel() );
}
if ( config.getAdditionalArguments() != null )
{
@@ -255,7 +255,7 @@
}
catch ( IOException e )
{
- throw new ReleaseConfigurationStoreException(
+ throw new ReleaseDescriptorStoreException(
"Error writing properties file '" + file.getName() + "': " + e.getMessage(), e );
}
finally
@@ -265,8 +265,8 @@
}
- private static File getDefaultReleasePropertiesFile( ReleaseConfiguration mergeConfiguration )
+ private static File getDefaultReleasePropertiesFile( ReleaseDescriptor mergeDescriptor )
{
- return new File( mergeConfiguration.getWorkingDirectory(), "release.properties" );
+ return new File( mergeDescriptor.getWorkingDirectory(), "release.properties" );
}
}
Copied: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseDescriptorStore.java (from r438319, maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStore.java)
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseDescriptorStore.java?p2=maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseDescriptorStore.java&p1=maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStore.java&r1=438319&r2=438341&rev=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStore.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseDescriptorStore.java Tue Aug 29 21:03:46 2006
@@ -21,35 +21,35 @@
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
-public interface ReleaseConfigurationStore
+public interface ReleaseDescriptorStore
{
/**
* The Plexus role.
*/
- String ROLE = ReleaseConfigurationStore.class.getName();
+ String ROLE = ReleaseDescriptorStore.class.getName();
/**
* Read a configuration.
*
- * @param mergeConfiguration configuration to merge with the loaded configuration. Some values are used as defaults,
- * while others are used to override
+ * @param mergeDescriptor configuration to merge with the loaded configuration. Some values are used as defaults,
+ * while others are used to override
* @return the configuration
*/
- ReleaseConfiguration read( ReleaseConfiguration mergeConfiguration )
- throws ReleaseConfigurationStoreException;
+ ReleaseDescriptor read( ReleaseDescriptor mergeDescriptor )
+ throws ReleaseDescriptorStoreException;
/**
* Save a configuration.
*
* @param config the configuration
*/
- void write( ReleaseConfiguration config )
- throws ReleaseConfigurationStoreException;
+ void write( ReleaseDescriptor config )
+ throws ReleaseDescriptorStoreException;
/**
* Remove a configuration.
*
* @param config the location of the configuration
*/
- void delete( ReleaseConfiguration config );
+ void delete( ReleaseDescriptor config );
}
Copied: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseDescriptorStoreException.java (from r438319, maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStoreException.java)
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseDescriptorStoreException.java?p2=maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseDescriptorStoreException.java&p1=maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStoreException.java&r1=438319&r2=438341&rev=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseConfigurationStoreException.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseDescriptorStoreException.java Tue Aug 29 21:03:46 2006
@@ -21,10 +21,10 @@
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
-public class ReleaseConfigurationStoreException
+public class ReleaseDescriptorStoreException
extends Exception
{
- public ReleaseConfigurationStoreException( String message, Throwable t )
+ public ReleaseDescriptorStoreException( String message, Throwable t )
{
super( message, t );
}
Added: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseUtils.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseUtils.java?rev=438341&view=auto
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseUtils.java (added)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseUtils.java Tue Aug 29 21:03:46 2006
@@ -0,0 +1,81 @@
+package org.apache.maven.plugins.release.config;
+
+/*
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Class providing utility methods used during the release process
+ *
+ * @author <a href="mailto:jwhitlock@apache.org">Jeremy Whitlock</a>
+ */
+public class ReleaseUtils
+{
+ private ReleaseUtils()
+ {
+ // nothing to see here
+ }
+
+ /**
+ * Merge two descriptors together. All SCM settings are overridden by the merge descriptor, as is the
+ * <code>workingDirectory</code> field. The <code>completedPhase</code> field is used as
+ * a default from the merge descriptor, but not overridden if it exists.
+ *
+ * @param mergeInto the descriptor to be merged into
+ * @param toBeMerged the descriptor to merge into mergeInto
+ * @return ReleaseDescriptor the merged descriptor
+ */
+ public static ReleaseDescriptor merge( ReleaseDescriptor mergeInto, ReleaseDescriptor toBeMerged )
+ {
+ // Overridden if configured from the caller
+ mergeInto.setScmSourceUrl( mergeOverride( mergeInto.getScmSourceUrl(), toBeMerged.getScmSourceUrl() ) );
+ mergeInto.setScmReleaseLabel(
+ mergeOverride( mergeInto.getScmReleaseLabel(), toBeMerged.getScmReleaseLabel() ) );
+ mergeInto.setScmTagBase( mergeOverride( mergeInto.getScmTagBase(), toBeMerged.getScmTagBase() ) );
+ mergeInto.setScmUsername( mergeOverride( mergeInto.getScmUsername(), toBeMerged.getScmUsername() ) );
+ mergeInto.setScmPassword( mergeOverride( mergeInto.getScmPassword(), toBeMerged.getScmPassword() ) );
+ mergeInto.setScmPrivateKey( mergeOverride( mergeInto.getScmPrivateKey(), toBeMerged.getScmPrivateKey() ) );
+ mergeInto.setScmPrivateKeyPassPhrase(
+ mergeOverride( mergeInto.getScmPrivateKeyPassPhrase(), toBeMerged.getScmPrivateKeyPassPhrase() ) );
+ mergeInto.setAdditionalArguments(
+ mergeOverride( mergeInto.getAdditionalArguments(), toBeMerged.getAdditionalArguments() ) );
+ mergeInto.setPreparationGoals(
+ mergeOverride( mergeInto.getPreparationGoals(), toBeMerged.getPreparationGoals() ) );
+ mergeInto.setPomFileName( mergeOverride( mergeInto.getPomFileName(), toBeMerged.getPomFileName() ) );
+ mergeInto.setScmUseEditMode( toBeMerged.isScmUseEditMode() );
+ mergeInto.setAddSchema( toBeMerged.isAddSchema() );
+ mergeInto.setGenerateReleasePoms( toBeMerged.isGenerateReleasePoms() );
+ mergeInto.setInteractive( toBeMerged.isInteractive() );
+
+ // These must be overridden, as they are not stored
+ mergeInto.setWorkingDirectory(
+ mergeOverride( mergeInto.getWorkingDirectory(), toBeMerged.getWorkingDirectory() ) );
+
+ // Not overridden - not configured from caller
+ mergeInto.setCompletedPhase( mergeDefault( mergeInto.getCompletedPhase(), toBeMerged.getCompletedPhase() ) );
+
+ return mergeInto;
+ }
+
+ private static String mergeOverride( String thisValue, String mergeValue )
+ {
+ return mergeValue != null ? mergeValue : thisValue;
+ }
+
+ private static String mergeDefault( String thisValue, String mergeValue )
+ {
+ return thisValue != null ? thisValue : mergeValue;
+ }
+}
Propchange: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/config/ReleaseUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/AbstractReleasePhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/AbstractReleasePhase.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/AbstractReleasePhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/AbstractReleasePhase.java Tue Aug 29 21:03:46 2006
@@ -16,9 +16,10 @@
* limitations under the License.
*/
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
import org.codehaus.plexus.logging.AbstractLogEnabled;
+import java.util.List;
+
/**
* Base class for all phases.
*
@@ -28,7 +29,7 @@
extends AbstractLogEnabled
implements ReleasePhase
{
- public void clean( ReleaseConfiguration config )
+ public void clean( List reactorProjects )
{
// nothing to do by default
}
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/AbstractRewritePomsPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/AbstractRewritePomsPhase.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/AbstractRewritePomsPhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/AbstractRewritePomsPhase.java Tue Aug 29 21:03:46 2006
@@ -23,7 +23,7 @@
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.plugins.release.ReleaseExecutionException;
import org.apache.maven.plugins.release.ReleaseFailureException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
import org.apache.maven.plugins.release.scm.ReleaseScmCommandException;
import org.apache.maven.plugins.release.scm.ReleaseScmRepositoryException;
import org.apache.maven.plugins.release.scm.ScmRepositoryConfigurator;
@@ -35,6 +35,7 @@
import org.apache.maven.scm.provider.ScmProvider;
import org.apache.maven.scm.repository.ScmRepository;
import org.apache.maven.scm.repository.ScmRepositoryException;
+import org.apache.maven.settings.Settings;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;
@@ -84,26 +85,28 @@
*/
private String pomSuffix;
- public void execute( ReleaseConfiguration releaseConfiguration )
+ public void execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException
{
- transform( releaseConfiguration, false );
+ transform( releaseDescriptor, settings, reactorProjects, false );
}
- private void transform( ReleaseConfiguration releaseConfiguration, boolean simulate )
+ private void transform( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects,
+ boolean simulate )
throws ReleaseExecutionException, ReleaseFailureException
{
- for ( Iterator it = releaseConfiguration.getReactorProjects().iterator(); it.hasNext(); )
+ for ( Iterator it = reactorProjects.iterator(); it.hasNext(); )
{
MavenProject project = (MavenProject) it.next();
getLogger().info( "Transforming '" + project.getName() + "'..." );
- transformProject( project, releaseConfiguration, simulate );
+ transformProject( project, releaseDescriptor, settings, reactorProjects, simulate );
}
}
- private void transformProject( MavenProject project, ReleaseConfiguration releaseConfiguration, boolean simulate )
+ private void transformProject( MavenProject project, ReleaseDescriptor releaseDescriptor, Settings settings,
+ List reactorProjects, boolean simulate )
throws ReleaseExecutionException, ReleaseFailureException
{
Document document;
@@ -149,7 +152,7 @@
ScmProvider provider;
try
{
- scmRepository = scmRepositoryConfigurator.getConfiguredRepository( releaseConfiguration );
+ scmRepository = scmRepositoryConfigurator.getConfiguredRepository( releaseDescriptor, settings );
provider = scmRepositoryConfigurator.getRepositoryProvider( scmRepository );
}
@@ -162,17 +165,17 @@
throw new ReleaseExecutionException( "Unable to configure SCM repository: " + e.getMessage(), e );
}
- transformDocument( project, document.getRootElement(), releaseConfiguration, scmRepository );
+ transformDocument( project, document.getRootElement(), releaseDescriptor, reactorProjects, scmRepository );
if ( simulate )
{
File outputFile =
new File( project.getFile().getParentFile(), project.getFile().getName() + "." + pomSuffix );
- writePom( outputFile, document, releaseConfiguration, project.getModelVersion(), intro, outtro );
+ writePom( outputFile, document, releaseDescriptor, project.getModelVersion(), intro, outtro );
}
else
{
- writePom( project.getFile(), document, releaseConfiguration, project.getModelVersion(), intro, outtro,
+ writePom( project.getFile(), document, releaseDescriptor, project.getModelVersion(), intro, outtro,
scmRepository, provider );
}
}
@@ -186,13 +189,13 @@
}
}
- private void transformDocument( MavenProject project, Element rootElement,
- ReleaseConfiguration releaseConfiguration, ScmRepository scmRepository )
+ private void transformDocument( MavenProject project, Element rootElement, ReleaseDescriptor releaseDescriptor,
+ List reactorProjects, ScmRepository scmRepository )
throws ReleaseExecutionException, ReleaseFailureException
{
Namespace namespace = rootElement.getNamespace();
- Map mappedVersions = getNextVersionMap( releaseConfiguration );
- Map originalVersions = getOriginalVersionMap( releaseConfiguration );
+ Map mappedVersions = getNextVersionMap( releaseDescriptor );
+ Map originalVersions = getOriginalVersionMap( releaseDescriptor, reactorProjects );
String parentVersion = rewriteParent( project, rootElement, namespace, mappedVersions, originalVersions );
@@ -242,7 +245,7 @@
}
}
- transformScm( project, rootElement, namespace, releaseConfiguration, projectId, scmRepository );
+ transformScm( project, rootElement, namespace, releaseDescriptor, projectId, scmRepository );
}
private void rewriteVersion( Element rootElement, Namespace namespace, Map mappedVersions, String projectId,
@@ -437,17 +440,16 @@
}
}
- private void writePom( File pomFile, Document document, ReleaseConfiguration releaseConfiguration,
- String modelVersion, String intro, String outtro, ScmRepository repository,
- ScmProvider provider )
+ private void writePom( File pomFile, Document document, ReleaseDescriptor releaseDescriptor, String modelVersion,
+ String intro, String outtro, ScmRepository repository, ScmProvider provider )
throws ReleaseExecutionException, ReleaseScmCommandException
{
try
{
- if ( releaseConfiguration.isUseEditMode() || provider.requiresEditMode() )
+ if ( releaseDescriptor.isScmUseEditMode() || provider.requiresEditMode() )
{
- EditScmResult result =
- provider.edit( repository, new ScmFileSet( releaseConfiguration.getWorkingDirectory(), pomFile ) );
+ EditScmResult result = provider.edit( repository, new ScmFileSet(
+ new File( releaseDescriptor.getWorkingDirectory() ), pomFile ) );
if ( !result.isSuccess() )
{
@@ -460,16 +462,16 @@
throw new ReleaseExecutionException( "An error occurred enabling edit mode: " + e.getMessage(), e );
}
- writePom( pomFile, document, releaseConfiguration, modelVersion, intro, outtro );
+ writePom( pomFile, document, releaseDescriptor, modelVersion, intro, outtro );
}
- private void writePom( File pomFile, Document document, ReleaseConfiguration releaseConfiguration,
- String modelVersion, String intro, String outtro )
+ private void writePom( File pomFile, Document document, ReleaseDescriptor releaseDescriptor, String modelVersion,
+ String intro, String outtro )
throws ReleaseExecutionException
{
Element rootElement = document.getRootElement();
- if ( releaseConfiguration.isAddSchema() )
+ if ( releaseDescriptor.isAddSchema() )
{
Namespace pomNamespace = Namespace.getNamespace( "", "http://maven.apache.org/POM/" + modelVersion );
rootElement.setNamespace( pomNamespace );
@@ -523,19 +525,19 @@
}
}
- public void simulate( ReleaseConfiguration releaseConfiguration )
+ public void simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException
{
- transform( releaseConfiguration, true );
+ transform( releaseDescriptor, settings, reactorProjects, true );
}
- public void clean( ReleaseConfiguration config )
+ public void clean( List reactorProjects )
{
- super.clean( config );
+ super.clean( reactorProjects );
- if ( config.getReactorProjects() != null )
+ if ( reactorProjects != null )
{
- for ( Iterator i = config.getReactorProjects().iterator(); i.hasNext(); )
+ for ( Iterator i = reactorProjects.iterator(); i.hasNext(); )
{
MavenProject project = (MavenProject) i.next();
@@ -549,12 +551,12 @@
}
}
- protected abstract Map getOriginalVersionMap( ReleaseConfiguration releaseConfiguration );
+ protected abstract Map getOriginalVersionMap( ReleaseDescriptor releaseDescriptor, List reactorProjects );
- protected abstract Map getNextVersionMap( ReleaseConfiguration releaseConfiguration );
+ protected abstract Map getNextVersionMap( ReleaseDescriptor releaseDescriptor );
protected abstract void transformScm( MavenProject project, Element rootElement, Namespace namespace,
- ReleaseConfiguration releaseConfiguration, String projectId,
+ ReleaseDescriptor releaseDescriptor, String projectId,
ScmRepository scmRepository )
throws ReleaseExecutionException;
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/CheckDependencySnapshotsPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/CheckDependencySnapshotsPhase.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/CheckDependencySnapshotsPhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/CheckDependencySnapshotsPhase.java Tue Aug 29 21:03:46 2006
@@ -20,8 +20,9 @@
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.plugins.release.ReleaseExecutionException;
import org.apache.maven.plugins.release.ReleaseFailureException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.settings.Settings;
import org.codehaus.plexus.components.interactivity.Prompter;
import org.codehaus.plexus.components.interactivity.PrompterException;
@@ -49,23 +50,22 @@
*/
private Prompter prompter;
- public void execute( ReleaseConfiguration releaseConfiguration )
+ public void execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException
{
getLogger().info( "Checking dependencies and plugins for snapshots ..." );
- List reactorProjects = releaseConfiguration.getReactorProjects();
- Map originalVersions = releaseConfiguration.getOriginalVersions();
+ Map originalVersions = releaseDescriptor.getOriginalVersions( reactorProjects );
for ( Iterator i = reactorProjects.iterator(); i.hasNext(); )
{
MavenProject project = (MavenProject) i.next();
- checkProject( project, originalVersions, releaseConfiguration );
+ checkProject( project, originalVersions, releaseDescriptor );
}
}
- private void checkProject( MavenProject project, Map originalVersions, ReleaseConfiguration releaseConfiguration )
+ private void checkProject( MavenProject project, Map originalVersions, ReleaseDescriptor releaseDescriptor )
throws ReleaseFailureException, ReleaseExecutionException
{
Set snapshotDependencies = new HashSet();
@@ -101,7 +101,7 @@
{
// It's a snapshot of the release plugin. Maybe just testing - ask
// By default, we fail as for any ohter plugin
- if ( releaseConfiguration.isInteractive() )
+ if ( releaseDescriptor.isInteractive() )
{
try
{
@@ -183,11 +183,11 @@
!artifact.getBaseVersion().equals( originalVersions.get( versionlessArtifactKey ) );
}
- public void simulate( ReleaseConfiguration releaseConfiguration )
+ public void simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException
{
// It makes no modifications, so simulate is the same as execute
- execute( releaseConfiguration );
+ execute( releaseDescriptor, settings, reactorProjects );
}
public void setPrompter( Prompter prompter )
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/CheckPomPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/CheckPomPhase.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/CheckPomPhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/CheckPomPhase.java Tue Aug 29 21:03:46 2006
@@ -19,12 +19,13 @@
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.plugins.release.ReleaseExecutionException;
import org.apache.maven.plugins.release.ReleaseFailureException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
import org.apache.maven.plugins.release.scm.ReleaseScmRepositoryException;
import org.apache.maven.plugins.release.scm.ScmRepositoryConfigurator;
import org.apache.maven.project.MavenProject;
import org.apache.maven.scm.manager.NoSuchScmProviderException;
import org.apache.maven.scm.repository.ScmRepositoryException;
+import org.apache.maven.settings.Settings;
import org.codehaus.plexus.util.StringUtils;
import java.util.Iterator;
@@ -43,26 +44,26 @@
*/
private ScmRepositoryConfigurator scmRepositoryConfigurator;
- public void execute( ReleaseConfiguration releaseConfiguration )
+ public void execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException
{
// Currently, we don't deal with multiple SCM locations in a multiproject
- if ( StringUtils.isEmpty( releaseConfiguration.getUrl() ) )
+ if ( StringUtils.isEmpty( releaseDescriptor.getScmSourceUrl() ) )
{
- MavenProject rootProject = (MavenProject) releaseConfiguration.getReactorProjects().get( 0 );
+ MavenProject rootProject = (MavenProject) reactorProjects.get( 0 );
if ( rootProject != null && rootProject.getScm() != null )
{
if ( rootProject.getScm().getDeveloperConnection() != null )
{
- releaseConfiguration.setUrl( rootProject.getScm().getDeveloperConnection() );
+ releaseDescriptor.setScmSourceUrl( rootProject.getScm().getDeveloperConnection() );
}
else if ( rootProject.getScm().getConnection() != null )
{
- releaseConfiguration.setUrl( rootProject.getScm().getConnection() );
+ releaseDescriptor.setScmSourceUrl( rootProject.getScm().getConnection() );
}
}
- if ( StringUtils.isEmpty( releaseConfiguration.getUrl() ) )
+ if ( StringUtils.isEmpty( releaseDescriptor.getScmSourceUrl() ) )
{
throw new ReleaseFailureException(
"Missing required setting: scm connection or developerConnection must be specified." );
@@ -70,7 +71,7 @@
try
{
- scmRepositoryConfigurator.getConfiguredRepository( releaseConfiguration );
+ scmRepositoryConfigurator.getConfiguredRepository( releaseDescriptor, settings );
}
catch ( ScmRepositoryException e )
{
@@ -83,7 +84,6 @@
}
}
- List reactorProjects = releaseConfiguration.getReactorProjects();
for ( Iterator it = reactorProjects.iterator(); it.hasNext(); )
{
MavenProject project = (MavenProject) it.next();
@@ -98,10 +98,10 @@
}
}
- public void simulate( ReleaseConfiguration releaseConfiguration )
+ public void simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException
{
// It makes no modifications, so simulate is the same as execute
- execute( releaseConfiguration );
+ execute( releaseDescriptor, settings, reactorProjects );
}
}
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/EndReleasePhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/EndReleasePhase.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/EndReleasePhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/EndReleasePhase.java Tue Aug 29 21:03:46 2006
@@ -18,7 +18,10 @@
import org.apache.maven.plugins.release.ReleaseExecutionException;
import org.apache.maven.plugins.release.ReleaseFailureException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
+import org.apache.maven.settings.Settings;
+
+import java.util.List;
/**
* Finalise release preparation so it can be flagged complete..
@@ -29,13 +32,13 @@
extends AbstractReleasePhase
{
- public void execute( ReleaseConfiguration releaseConfiguration )
+ public void execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException
{
getLogger().info( "Release preparation complete." );
}
- public void simulate( ReleaseConfiguration releaseConfiguration )
+ public void simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException
{
getLogger().info( "Release preparation simulation complete." );
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/GenerateReleasePomsPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/GenerateReleasePomsPhase.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/GenerateReleasePomsPhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/GenerateReleasePomsPhase.java Tue Aug 29 21:03:46 2006
@@ -17,7 +17,10 @@
*/
import org.apache.maven.plugins.release.ReleaseExecutionException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
+import org.apache.maven.settings.Settings;
+
+import java.util.List;
/**
* Generate release POMs.
@@ -27,10 +30,10 @@
public class GenerateReleasePomsPhase
extends AbstractReleasePhase
{
- public void execute( ReleaseConfiguration releaseConfiguration )
+ public void execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException
{
- if ( releaseConfiguration.isGenerateReleasePoms() )
+ if ( releaseDescriptor.isGenerateReleasePoms() )
{
getLogger().info( "Generating release POMs..." );
@@ -366,7 +369,7 @@
}
*/
- public void simulate( ReleaseConfiguration releaseConfiguration )
+ public void simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
{
// TODO [!]: implement
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/InputVariablesPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/InputVariablesPhase.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/InputVariablesPhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/InputVariablesPhase.java Tue Aug 29 21:03:46 2006
@@ -18,11 +18,14 @@
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.plugins.release.ReleaseExecutionException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.settings.Settings;
import org.codehaus.plexus.components.interactivity.Prompter;
import org.codehaus.plexus.components.interactivity.PrompterException;
+import java.util.List;
+
/**
* Input any variables that were not yet configured.
*
@@ -41,26 +44,26 @@
this.prompter = prompter;
}
- public void execute( ReleaseConfiguration releaseConfiguration )
+ public void execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException
{
// get the root project
- MavenProject project = (MavenProject) releaseConfiguration.getReactorProjects().get( 0 );
+ MavenProject project = (MavenProject) reactorProjects.get( 0 );
- String tag = releaseConfiguration.getReleaseLabel();
+ String tag = releaseDescriptor.getScmReleaseLabel();
if ( tag == null )
{
// Must get default version from mapped versions, as the project will be the incorrect snapshot
String key = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
- String releaseVersion = (String) releaseConfiguration.getReleaseVersions().get( key );
+ String releaseVersion = (String) releaseDescriptor.getReleaseVersions().get( key );
if ( releaseVersion == null )
{
throw new ReleaseExecutionException( "Project tag cannot be selected if version is not yet mapped" );
}
String defaultTag = project.getArtifactId() + "-" + releaseVersion;
- if ( releaseConfiguration.isInteractive() )
+ if ( releaseDescriptor.isInteractive() )
{
try
{
@@ -77,15 +80,15 @@
{
tag = defaultTag;
}
- releaseConfiguration.setReleaseLabel( tag );
+ releaseDescriptor.setScmReleaseLabel( tag );
}
}
- public void simulate( ReleaseConfiguration releaseConfiguration )
+ public void simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException
{
// It makes no modifications, so simulate is the same as execute
- execute( releaseConfiguration );
+ execute( releaseDescriptor, settings, reactorProjects );
}
}
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/MapVersionsPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/MapVersionsPhase.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/MapVersionsPhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/MapVersionsPhase.java Tue Aug 29 21:03:46 2006
@@ -18,15 +18,17 @@
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.plugins.release.ReleaseExecutionException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
import org.apache.maven.plugins.release.versions.DefaultVersionInfo;
import org.apache.maven.plugins.release.versions.VersionInfo;
import org.apache.maven.plugins.release.versions.VersionParseException;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.settings.Settings;
import org.codehaus.plexus.components.interactivity.Prompter;
import org.codehaus.plexus.components.interactivity.PrompterException;
import java.util.Iterator;
+import java.util.List;
/**
* Map projects to their new versions after release / into the next development cycle.
@@ -51,10 +53,10 @@
this.prompter = prompter;
}
- public void execute( ReleaseConfiguration releaseConfiguration )
+ public void execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException
{
- for ( Iterator i = releaseConfiguration.getReactorProjects().iterator(); i.hasNext(); )
+ for ( Iterator i = reactorProjects.iterator(); i.hasNext(); )
{
MavenProject project = (MavenProject) i.next();
@@ -68,7 +70,7 @@
catch ( VersionParseException e )
{
String msg = "Error parsing version, cannot determine next version: " + e.getMessage();
- if ( releaseConfiguration.isInteractive() )
+ if ( releaseDescriptor.isInteractive() )
{
getLogger().warn( msg );
getLogger().debug( e.getMessage(), e );
@@ -90,13 +92,13 @@
nextVersion = version.getNextVersion().getSnapshotVersionString();
}
- if ( releaseConfiguration.isInteractive() )
+ if ( releaseDescriptor.isInteractive() )
{
nextVersion = prompter.prompt( "What is the new development version for \"" +
project.getName() + "\"? (" + projectId + ")", nextVersion );
}
- releaseConfiguration.mapDevelopmentVersion( projectId, nextVersion );
+ releaseDescriptor.mapDevelopmentVersion( projectId, nextVersion );
}
else
{
@@ -106,14 +108,14 @@
nextVersion = version.getReleaseVersionString();
}
- if ( releaseConfiguration.isInteractive() )
+ if ( releaseDescriptor.isInteractive() )
{
nextVersion = prompter.prompt(
"What is the release version for \"" + project.getName() + "\"? (" + projectId + ")",
nextVersion );
}
- releaseConfiguration.mapReleaseVersion( projectId, nextVersion );
+ releaseDescriptor.mapReleaseVersion( projectId, nextVersion );
}
}
catch ( PrompterException e )
@@ -123,11 +125,11 @@
}
}
- public void simulate( ReleaseConfiguration releaseConfiguration )
+ public void simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException
{
// It makes no modifications, so simulate is the same as execute
- execute( releaseConfiguration );
+ execute( releaseDescriptor, settings, reactorProjects );
}
}
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/ReleasePhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/ReleasePhase.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/ReleasePhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/ReleasePhase.java Tue Aug 29 21:03:46 2006
@@ -18,7 +18,10 @@
import org.apache.maven.plugins.release.ReleaseExecutionException;
import org.apache.maven.plugins.release.ReleaseFailureException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
+import org.apache.maven.settings.Settings;
+
+import java.util.List;
/**
* A phase in the release cycle.
@@ -35,27 +38,31 @@
/**
* Execute the phase.
*
- * @param releaseConfiguration the configuration to use
+ * @param releaseDescriptor the configuration to use
+ * @param settings the settings.xml configuration
+ * @param reactorProjects the reactor projects
* @throws ReleaseExecutionException an exception during the execution of the phase
* @throws ReleaseFailureException a failure during the execution of the phase
*/
- void execute( ReleaseConfiguration releaseConfiguration )
+ void execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException;
/**
* Simulate the phase, but don't make any changes to the project.
*
- * @param releaseConfiguration the configuration to use
+ * @param releaseDescriptor the configuration to use
+ * @param settings the settings.xml configuration
+ * @param reactorProjects the reactor projects
* @throws ReleaseExecutionException an exception during the execution of the phase
* @throws ReleaseFailureException a failure during the execution of the phase
*/
- void simulate( ReleaseConfiguration releaseConfiguration )
+ void simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException;
/**
* Clean up after a phase if it leaves any additional files in the checkout.
*
- * @param config the configuration to use
+ * @param reactorProjects the reactor projects
*/
- void clean( ReleaseConfiguration config );
+ void clean( List reactorProjects );
}
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RemoveReleasePomsPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RemoveReleasePomsPhase.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RemoveReleasePomsPhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RemoveReleasePomsPhase.java Tue Aug 29 21:03:46 2006
@@ -17,7 +17,10 @@
*/
import org.apache.maven.plugins.release.ReleaseExecutionException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
+import org.apache.maven.settings.Settings;
+
+import java.util.List;
/**
* Remove release POMs.
@@ -27,7 +30,7 @@
public class RemoveReleasePomsPhase
extends AbstractReleasePhase
{
- public void execute( ReleaseConfiguration releaseConfiguration )
+ public void execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
throws ReleaseExecutionException
{
// TODO [!]: implement
@@ -79,9 +82,8 @@
*/
}
- public void simulate( ReleaseConfiguration releaseConfiguration )
+ public void simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
{
// TODO [!]: implement
-
}
-}
+}
\ No newline at end of file
Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForDevelopmentPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForDevelopmentPhase.java?rev=438341&r1=438340&r2=438341&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForDevelopmentPhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForDevelopmentPhase.java Tue Aug 29 21:03:46 2006
@@ -18,13 +18,14 @@
import org.apache.maven.model.Scm;
import org.apache.maven.plugins.release.ReleaseExecutionException;
-import org.apache.maven.plugins.release.config.ReleaseConfiguration;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
import org.apache.maven.plugins.release.scm.ScmTranslator;
import org.apache.maven.project.MavenProject;
import org.apache.maven.scm.repository.ScmRepository;
import org.jdom.Element;
import org.jdom.Namespace;
+import java.util.List;
import java.util.Map;
/**
@@ -41,8 +42,7 @@
private Map scmTranslators;
protected void transformScm( MavenProject project, Element rootElement, Namespace namespace,
- ReleaseConfiguration releaseConfiguration, String projectId,
- ScmRepository scmRepository )
+ ReleaseDescriptor releaseDescriptor, String projectId, ScmRepository scmRepository )
throws ReleaseExecutionException
{
// If SCM is null in original model, it is inherited, no mods needed
@@ -51,7 +51,7 @@
Element scmRoot = rootElement.getChild( "scm", namespace );
if ( scmRoot != null )
{
- Map originalScmInfo = releaseConfiguration.getOriginalScmInfo();
+ Map originalScmInfo = releaseDescriptor.getOriginalScmInfo();
// check containsKey, not == null, as we store null as a value
if ( !originalScmInfo.containsKey( projectId ) )
{
@@ -85,13 +85,13 @@
}
}
- protected Map getOriginalVersionMap( ReleaseConfiguration releaseConfiguration )
+ protected Map getOriginalVersionMap( ReleaseDescriptor releaseDescriptor, List reactorProjects )
{
- return releaseConfiguration.getReleaseVersions();
+ return releaseDescriptor.getReleaseVersions();
}
- protected Map getNextVersionMap( ReleaseConfiguration releaseConfiguration )
+ protected Map getNextVersionMap( ReleaseDescriptor releaseDescriptor )
{
- return releaseConfiguration.getDevelopmentVersions();
+ return releaseDescriptor.getDevelopmentVersions();
}
}