You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ev...@apache.org on 2007/05/07 19:52:45 UTC
svn commit: r535938 - in /maven/release/trunk:
maven-release-manager/src/main/java/org/apache/maven/shared/release/config/
maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/
maven-release-manager/src/main/mdo/ maven-release-plug...
Author: evenisse
Date: Mon May 7 10:52:39 2007
New Revision: 535938
URL: http://svn.apache.org/viewvc?view=rev&rev=535938
Log:
o Clean MapVersionPhase code for branch creation
o Allow to update branch version and/or working copy versions and update to snapshot released versions in the branch, so a branch can be created from a tag too.
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java
maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java?view=diff&rev=535938&r1=535937&r2=535938
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java Mon May 7 10:52:39 2007
@@ -69,6 +69,10 @@
mergeInto.setUpdateDependencies( toBeMerged.isUpdateDependencies() );
mergeInto.setCommitByProject( toBeMerged.isCommitByProject() );
mergeInto.setUseReleaseProfile( toBeMerged.isUseReleaseProfile() );
+ mergeInto.setBranchCreation( toBeMerged.isBranchCreation() );
+ mergeInto.setUpdateBranchVersions( toBeMerged.isUpdateBranchVersions() );
+ mergeInto.setUpdateWorkingCopyVersions( toBeMerged.isUpdateWorkingCopyVersions() );
+ mergeInto.setUpdateVersionsToSnapshot( toBeMerged.isUpdateVersionsToSnapshot() );
mergeInto.setAutoVersionSubmodules( toBeMerged.isAutoVersionSubmodules() );
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java?view=diff&rev=535938&r1=535937&r2=535938
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java Mon May 7 10:52:39 2007
@@ -80,13 +80,16 @@
String nextVersion = getNextVersion( project, projectId, releaseDescriptor, result );
- if ( convertToSnapshot && !convertToBranch )
+ if ( convertToSnapshot )
{
- releaseDescriptor.mapDevelopmentVersion( projectId, nextVersion );
- }
- else if ( convertToSnapshot && convertToBranch )
- {
- releaseDescriptor.mapDevelopmentVersion( projectId, project.getVersion() );
+ if ( releaseDescriptor.isBranchCreation() && convertToBranch )
+ {
+ releaseDescriptor.mapReleaseVersion( projectId, nextVersion );
+ }
+ else
+ {
+ releaseDescriptor.mapDevelopmentVersion( projectId, nextVersion );
+ }
}
else
{
@@ -98,13 +101,27 @@
MavenProject subProject = (MavenProject) i.next();
String subProjectId =
ArtifactUtils.versionlessKey( subProject.getGroupId(), subProject.getArtifactId() );
- if ( convertToSnapshot && !convertToBranch )
- {
- releaseDescriptor.mapDevelopmentVersion( subProjectId, nextVersion );
- }
- else if ( convertToSnapshot && convertToBranch )
+
+ if ( convertToSnapshot )
{
- releaseDescriptor.mapReleaseVersion( subProjectId, subProject.getVersion() );
+ String v;
+ if ( ArtifactUtils.isSnapshot( subProject.getVersion() ) )
+ {
+ v = nextVersion;
+ }
+ else
+ {
+ v = subProject.getVersion();
+ }
+
+ if ( releaseDescriptor.isBranchCreation() && convertToBranch )
+ {
+ releaseDescriptor.mapReleaseVersion( subProjectId, v );
+ }
+ else
+ {
+ releaseDescriptor.mapDevelopmentVersion( subProjectId, v );
+ }
}
else
{
@@ -122,31 +139,20 @@
String nextVersion = getNextVersion( project, projectId, releaseDescriptor, result );
- if ( convertToSnapshot && !convertToBranch)
- {
- releaseDescriptor.mapDevelopmentVersion( projectId, nextVersion );
- }
- else if ( convertToSnapshot && convertToBranch )
+ if ( convertToSnapshot )
{
- if ( ArtifactUtils.isSnapshot( project.getVersion() ) )
+ if ( releaseDescriptor.isBranchCreation() && convertToBranch )
{
releaseDescriptor.mapReleaseVersion( projectId, nextVersion );
}
else
{
- releaseDescriptor.mapReleaseVersion( projectId, project.getVersion() );
+ releaseDescriptor.mapDevelopmentVersion( projectId, nextVersion );
}
}
else
{
- if ( ArtifactUtils.isSnapshot( project.getVersion() ) )
- {
- releaseDescriptor.mapReleaseVersion( projectId, nextVersion );
- }
- else
- {
- releaseDescriptor.mapReleaseVersion( projectId, project.getVersion() );
- }
+ releaseDescriptor.mapReleaseVersion( projectId, nextVersion );
}
}
}
@@ -184,63 +190,110 @@
try
{
- if ( convertToSnapshot && !convertToBranch )
+ if ( convertToSnapshot )
{
- if ( version != null )
+ if ( releaseDescriptor.isBranchCreation() )
{
- VersionInfo versionInfo = version.getNextVersion();
- if ( versionInfo != null )
+ if ( convertToBranch )
{
- nextVersion = versionInfo.getSnapshotVersionString();
+ //branch modification
+ if ( releaseDescriptor.isUpdateBranchVersions() && (
+ ArtifactUtils.isSnapshot( project.getVersion() ) ||
+ releaseDescriptor.isUpdateVersionsToSnapshot() ) )
+ {
+ if ( version != null )
+ {
+ nextVersion = version.getSnapshotVersionString();
+ }
+
+ if ( releaseDescriptor.isInteractive() )
+ {
+ nextVersion = prompter.prompt(
+ "What is the branch version for \"" + project.getName() + "\"? (" + projectId + ")",
+ nextVersion );
+ }
+ else
+ {
+ Map relVersions = releaseDescriptor.getDevelopmentVersions();
+ if ( relVersions.containsKey( projectId ) )
+ {
+ nextVersion = relVersions.remove( projectId ).toString();
+ }
+ }
+ }
+ else
+ {
+ nextVersion = project.getVersion();
+ }
+
}
else
{
- nextVersion = "1.0-SNAPSHOT";
+ //working copy modification
+ if ( ArtifactUtils.isSnapshot( project.getVersion() ) &&
+ releaseDescriptor.isUpdateWorkingCopyVersions() )
+ {
+ if ( version != null )
+ {
+ VersionInfo versionInfo = version.getNextVersion();
+ if ( versionInfo != null )
+ {
+ nextVersion = versionInfo.getSnapshotVersionString();
+ }
+ else
+ {
+ nextVersion = "1.0-SNAPSHOT";
+ }
+ }
+
+ if ( releaseDescriptor.isInteractive() )
+ {
+ nextVersion = prompter.prompt( "What is the new working copy version for \"" +
+ project.getName() + "\"? (" + projectId + ")", nextVersion );
+ }
+ else
+ {
+ Map devVersions = releaseDescriptor.getDevelopmentVersions();
+ if ( devVersions.containsKey( projectId ) )
+ {
+ nextVersion = devVersions.remove( projectId ).toString();
+ }
+ }
+ }
+ else
+ {
+ nextVersion = project.getVersion();
+ }
}
}
-
- if ( releaseDescriptor.isInteractive() )
- {
- nextVersion = prompter.prompt(
- "What is the new development version for \"" + project.getName() + "\"? (" + projectId + ")",
- nextVersion );
- }
else
{
- Map devVersions = releaseDescriptor.getDevelopmentVersions();
- if ( devVersions.containsKey( projectId ) )
- {
- nextVersion = devVersions.remove( projectId ).toString();
- }
- }
- }
- else if ( convertToSnapshot && convertToBranch )
- {
- if ( ArtifactUtils.isSnapshot( project.getVersion() ) )
- {
if ( version != null )
{
- nextVersion = version.getSnapshotVersionString();
+ VersionInfo versionInfo = version.getNextVersion();
+ if ( versionInfo != null )
+ {
+ nextVersion = versionInfo.getSnapshotVersionString();
+ }
+ else
+ {
+ nextVersion = "1.0-SNAPSHOT";
+ }
}
if ( releaseDescriptor.isInteractive() )
{
- nextVersion = prompter.prompt(
- "What is the branch version for \"" + project.getName() + "\"? (" + projectId + ")",
- nextVersion );
+ nextVersion = prompter.prompt( "What is the new development version for \"" +
+ project.getName() + "\"? (" + projectId + ")", nextVersion );
}
else
{
- Map relVersions = releaseDescriptor.getDevelopmentVersions();
- if ( relVersions.containsKey( projectId ) )
+ Map devVersions = releaseDescriptor.getDevelopmentVersions();
+ if ( devVersions.containsKey( projectId ) )
{
- nextVersion = relVersions.remove( projectId ).toString();
+ nextVersion = devVersions.remove( projectId ).toString();
}
}
- }
- else
- {
- nextVersion = project.getVersion();
}
}
else
Modified: maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo?view=diff&rev=535938&r1=535937&r2=535938
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo (original)
+++ maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo Mon May 7 10:52:39 2007
@@ -310,6 +310,38 @@
The commits must be done by modules or not. Set it to true in case of flat directory structure.
</description>
</field>
+ <field>
+ <name>branchCreation</name>
+ <version>1.0.0</version>
+ <type>boolean</type>
+ <description>
+ Whether to create a branch instead of do a release.
+ </description>
+ </field>
+ <field>
+ <name>updateBranchVersions</name>
+ <version>1.0.0</version>
+ <type>boolean</type>
+ <description>
+ Whether to update branch POM versions.
+ </description>
+ </field>
+ <field>
+ <name>updateWorkingCopyVersions</name>
+ <version>1.0.0</version>
+ <type>boolean</type>
+ <description>
+ Whether to update working copy POM versions.
+ </description>
+ </field>
+ <field>
+ <name>updateVersionsToSnapshot</name>
+ <version>1.0.0</version>
+ <type>boolean</type>
+ <description>
+ Whether to update branch versions to SNAPSHOT.
+ </description>
+ </field>
<!-- Announcement Information
Modified: maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java?view=diff&rev=535938&r1=535937&r2=535938
==============================================================================
--- maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java (original)
+++ maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java Mon May 7 10:52:39 2007
@@ -45,6 +45,27 @@
private String branchName;
/**
+ * Whether to update versions in the branch.
+ *
+ * @parameter expression="${updateBranchVersions}" default-value="false"
+ */
+ private boolean updateBranchVersions;
+
+ /**
+ * Whether to update versions in the working copy.
+ *
+ * @parameter expression="${updateWorkingCopyVersions}" default-value="true"
+ */
+ private boolean updateWorkingCopyVersions;
+
+ /**
+ * Whether to update versions to SNAPSHOT in the branch.
+ *
+ * @parameter expression="${updateVersionsToSnapshot}" default-value="true"
+ */
+ private boolean updateVersionsToSnapshot;
+
+ /**
* Whether to use "edit" mode on the SCM, to lock the file for editing during SCM operations.
*
* @parameter expression="${useEditMode}" default-value="false"
@@ -97,6 +118,11 @@
config.setUpdateDependencies( updateDependencies );
config.setAutoVersionSubmodules( autoVersionSubmodules );
config.setScmReleaseLabel( branchName );
+ config.setBranchCreation( true );
+ config.setUpdateBranchVersions( updateBranchVersions );
+ config.setUpdateWorkingCopyVersions( updateWorkingCopyVersions );
+ config.setUpdateVersionsToSnapshot( updateVersionsToSnapshot );
+
try
{
releaseManager.branch( config, settings, reactorProjects, dryRun );
@@ -107,6 +133,7 @@
}
catch ( ReleaseFailureException e )
{
+ e.printStackTrace();
throw new MojoFailureException( e.getMessage() );
}
}