You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ch...@apache.org on 2015/05/05 11:49:50 UTC

svn commit: r1677765 - in /maven/release/trunk: ./ maven-release-manager/ 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/m...

Author: chrisgwarp
Date: Tue May  5 09:49:50 2015
New Revision: 1677765

URL: http://svn.apache.org/r1677765
Log:
Changed: Introduced the code for workItem support. See SCM-775.

Modified:
    maven/release/trunk/maven-release-manager/pom.xml
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
    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/AbstractScmCommitPhase.java
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmBranchPhase.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/AbstractScmReleaseMojo.java
    maven/release/trunk/pom.xml

Modified: maven/release/trunk/maven-release-manager/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/pom.xml?rev=1677765&r1=1677764&r2=1677765&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/pom.xml (original)
+++ maven/release/trunk/maven-release-manager/pom.xml Tue May  5 09:49:50 2015
@@ -235,7 +235,7 @@
           </execution>
         </executions>
         <configuration>
-          <version>2.5.1</version>
+          <version>2.5.3</version>
           <packageWithVersion>false</packageWithVersion>
           <useJava5>true</useJava5>
           <models>

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java?rev=1677765&r1=1677764&r2=1677765&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java Tue May  5 09:49:50 2015
@@ -238,6 +238,11 @@ public class PropertiesReleaseDescriptor
 
         properties.setProperty( "pushChanges", Boolean.toString( config.isPushChanges() ) );
 
+        if ( config.getWorkItem() != null )
+        {
+            properties.setProperty( "workItem", config.getWorkItem() );
+        }
+
         // others boolean properties are not written to the properties file because the value from the caller is always
         // used
 

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=1677765&r1=1677764&r2=1677765&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 Tue May  5 09:49:50 2015
@@ -101,6 +101,7 @@ public class ReleaseUtils
         mergeInto.setRemoteTagging( toBeMerged.isRemoteTagging() );
         mergeInto.setLocalCheckout( toBeMerged.isLocalCheckout() );
         mergeInto.setPushChanges( toBeMerged.isPushChanges() );
+        mergeInto.setWorkItem( toBeMerged.getWorkItem() );
         mergeInto.setWaitBeforeTagging( toBeMerged.getWaitBeforeTagging() );
 
         // If the user specifies versions, these should be override the existing versions
@@ -173,6 +174,7 @@ public class ReleaseUtils
             remoteTaggingStr == null ? false : Boolean.valueOf( remoteTaggingStr ).booleanValue() );
         String pushChanges = properties.getProperty( "pushChanges" );
         releaseDescriptor.setPushChanges( pushChanges == null ? true : Boolean.valueOf( pushChanges ).booleanValue() );
+        String workItem = properties.getProperty( "workItem" );
 
         loadResolvedDependencies( properties, releaseDescriptor );
 

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhase.java?rev=1677765&r1=1677764&r2=1677765&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhase.java Tue May  5 09:49:50 2015
@@ -116,6 +116,8 @@ public abstract class AbstractScmCommitP
 
             repository.getProviderRepository().setPushChanges( releaseDescriptor.isPushChanges() );
 
+            repository.getProviderRepository().setWorkItem( releaseDescriptor.getWorkItem() );
+
             provider = scmRepositoryConfigurator.getRepositoryProvider( repository );
         }
         catch ( ScmRepositoryException e )

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmBranchPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmBranchPhase.java?rev=1677765&r1=1677764&r2=1677765&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmBranchPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmBranchPhase.java Tue May  5 09:49:50 2015
@@ -82,6 +82,8 @@ public class ScmBranchPhase
 
             repository.getProviderRepository().setPushChanges( releaseDescriptor.isPushChanges() );
 
+            repository.getProviderRepository().setWorkItem( releaseDescriptor.getWorkItem() );
+
             provider = scmRepositoryConfigurator.getRepositoryProvider( repository );
 
         }

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=1677765&r1=1677764&r2=1677765&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 Tue May  5 09:49:50 2015
@@ -95,6 +95,8 @@ public class ScmTagPhase
 
             repository.getProviderRepository().setPushChanges( releaseDescriptor.isPushChanges() );
 
+            repository.getProviderRepository().setWorkItem( releaseDescriptor.getWorkItem() );
+
             provider = scmRepositoryConfigurator.getRepositoryProvider( repository );
         }
         catch ( ScmRepositoryException e )

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=1677765&r1=1677764&r2=1677765&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 Tue May  5 09:49:50 2015
@@ -499,6 +499,17 @@
           </description>
         </field>
 
+        <field>
+          <name>workItem</name>
+          <version>2.5.3+</version>
+          <type>String</type>
+          <description>
+            Some SCMs may require a Work Item or a Task to allow the changes to be pushed or delivered.
+            This field allows you to specify that Work Item or Task. It is optional, and only relevant
+            if pushChanges is true.
+          </description>
+        </field>
+
         <!-- Announcement Information
 
         Announcement related info, this can be a second part of the process.
@@ -718,6 +729,10 @@
         {
             return false;
         }
+        if ( !safeEquals( workItem, that.workItem ) )
+        {
+            return false;
+        }
         if ( ( checkModificationExcludes == null || ( checkModificationExcludes != null && checkModificationExcludes.size() == 0) ) &&
             ( that.checkModificationExcludes == null || ( that.checkModificationExcludes != null && that.checkModificationExcludes.size() == 0) ) )
         {
@@ -942,6 +957,7 @@
         result = 29 * result + ( remoteTagging ? 1 : 0 );
         result = 29 * result + ( localCheckout ? 1 : 0 );
         result = 29 * result + ( pushChanges ? 1 : 0 );
+        result = 29 * result + ( workItem != null ? workItem.hashCode() : 0 );
         result = 29 * result + ( defaultDevelopmentVersion != null ? defaultDevelopmentVersion.hashCode() : 0 );
         result = 29 * result + ( scmRelativePathProjectDirectory != null ? scmRelativePathProjectDirectory.hashCode() : 0 );
         result = 29 * result + ( checkoutDirectory != null ? checkoutDirectory.hashCode() : 0 );

Modified: maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractScmReleaseMojo.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractScmReleaseMojo.java?rev=1677765&r1=1677764&r2=1677765&view=diff
==============================================================================
--- maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractScmReleaseMojo.java (original)
+++ maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractScmReleaseMojo.java Tue May  5 09:49:50 2015
@@ -95,6 +95,15 @@ public abstract class AbstractScmRelease
     private boolean pushChanges = true;
 
     /**
+     * A workItem for SCMs like RTC, TFS etc, that may require additional
+     * information to perform a pushChange operation.
+     *
+     * @since 2.5.3
+     */
+    @Parameter( property = "workItem" )
+    private String workItem;
+
+    /**
      * Add a new or overwrite the default implementation per provider. 
      * The key is the scm prefix and the value is the role hint of the
      * {@link org.apache.maven.scm.provider.ScmProvider}.
@@ -141,6 +150,7 @@ public abstract class AbstractScmRelease
         descriptor.setScmCommentPrefix( scmCommentPrefix );
 
         descriptor.setPushChanges( pushChanges );
+        descriptor.setWorkItem( workItem );
 
         return descriptor;
     }

Modified: maven/release/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/pom.xml?rev=1677765&r1=1677764&r2=1677765&view=diff
==============================================================================
--- maven/release/trunk/pom.xml (original)
+++ maven/release/trunk/pom.xml Tue May  5 09:49:50 2015
@@ -79,7 +79,7 @@
   </contributors>
 
   <properties>
-    <scmVersion>1.9.4</scmVersion>
+    <scmVersion>1.9.5-SNAPSHOT</scmVersion>
     <mavenVersion>2.2.1</mavenVersion>
     <maven.site.path>maven-release-archives/maven-release-LATEST</maven.site.path>
   </properties>