Author: dennisl
Date: Thu Nov 18 18:33:29 2010
New Revision: 1036568
URL: http://svn.apache.org/viewvc?rev=1036568&view=rev
Log:
[MRELEASE-613] Add a parameter that tells the plugin to wait for X seconds
before tagging
Modified:
maven/release/trunk/maven-release-manager/pom.xml
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/ScmTagPhase.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/PrepareReleaseMojo.java
Modified: maven/release/trunk/maven-release-manager/pom.xml
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/pom.xml?rev=1036568&r1=1036567&r2=1036568&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/pom.xml (original)
+++ maven/release/trunk/maven-release-manager/pom.xml Thu Nov 18 18:33:29 2010
@@ -239,7 +239,7 @@
</execution>
</executions>
<configuration>
- <version>2.1.0</version>
+ <version>2.2.0</version>
<packageWithVersion>false</packageWithVersion>
<models>
<model>src/main/mdo/release-descriptor.mdo</model>
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?rev=1036568&r1=1036567&r2=1036568&view=diff
==============================================================================
---
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
Thu Nov 18 18:33:29 2010
@@ -95,7 +95,8 @@ public class ReleaseUtils
mergeInto.setRemoteTagging( toBeMerged.isRemoteTagging() );
mergeInto.setLocalCheckout( toBeMerged.isLocalCheckout() );
mergeInto.setPushChanges( toBeMerged.isPushChanges() );
-
+ mergeInto.setWaitBeforeTagging( toBeMerged.getWaitBeforeTagging() );
+
// If the user specifies versions, these should be override the
existing versions
if ( toBeMerged.getReleaseVersions() != null )
{
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmTagPhase.java
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmTagPhase.java?rev=1036568&r1=1036567&r2=1036568&view=diff
==============================================================================
---
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmTagPhase.java
(original)
+++
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmTagPhase.java
Thu Nov 18 18:33:29 2010
@@ -64,6 +64,18 @@ public class ScmTagPhase
validateConfiguration( releaseDescriptor );
+ if ( releaseDescriptor.getWaitBeforeTagging() > 0 )
+ {
+ logInfo( relResult, "Waiting for " +
releaseDescriptor.getWaitBeforeTagging() + " seconds before tagging the
release." );
+ try
+ {
+ Thread.sleep( releaseDescriptor.getWaitBeforeTagging() * 1000
);
+ }
+ catch( InterruptedException e ) {
+ // Ignore
+ }
+ }
+
logInfo( relResult, "Tagging release with the label " +
releaseDescriptor.getScmReleaseLabel() + "..." );
ReleaseDescriptor basedirAlignedReleaseDescriptor =
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?rev=1036568&r1=1036567&r2=1036568&view=diff
==============================================================================
---
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
Thu Nov 18 18:33:29 2010
@@ -384,6 +384,14 @@
</description>
</field>
<field>
+ <name>waitBeforeTagging</name>
+ <version>2.2.0+</version>
+ <type>int</type>
+ <description>
+ Wait the specified number of seconds before creating a tag.
+ </description>
+ </field>
+ <field>
<name>allowTimestampedSnapshots</name>
<version>1.0.0+</version>
<type>boolean</type>
Modified:
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java?rev=1036568&r1=1036567&r2=1036568&view=diff
==============================================================================
---
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
(original)
+++
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
Thu Nov 18 18:33:29 2010
@@ -215,6 +215,18 @@ public class PrepareReleaseMojo
private boolean suppressCommitBeforeTag;
/**
+ * Wait the specified number of second before creating the tag.
+ * <br/><code>waitBeforeTagging</code> is useful when your source
repository
+ * is synced between several instances and access to it is determined by
+ * geographical location, like the SVN repository at the Apache Software
+ * Foundation.
+ *
+ * @parameter expression="${waitBeforeTagging}" default-value="0"
+ * @since 2.2
+ */
+ private int waitBeforeTagging;
+
+ /**
* @parameter expression="${session}"
* @readonly
* @required
@@ -258,6 +270,7 @@ public class PrepareReleaseMojo
config.setRemoteTagging( remoteTagging );
config.setUpdateWorkingCopyVersions( updateWorkingCopyVersions );
config.setSuppressCommitBeforeTagOrBranch( suppressCommitBeforeTag );
+ config.setWaitBeforeTagging( waitBeforeTagging );
if ( checkModificationExcludeList != null )
{