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>