You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by pg...@apache.org on 2009/08/18 20:16:03 UTC
svn commit: r805520 - 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/java/org/apache/maven/s...
Author: pgier
Date: Tue Aug 18 18:16:02 2009
New Revision: 805520
URL: http://svn.apache.org/viewvc?rev=805520&view=rev
Log:
[MRELEASE-372] Add property to configure branch base URL. Patch from Michael Mallete.
Modified:
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/RewritePomsForBranchPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/DefaultScmRepositoryConfigurator.java
maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java
maven/release/trunk/maven-release-manager/src/test/resources/release.properties
maven/release/trunk/maven-release-manager/src/test/resources/rewrite-release.properties
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/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=805520&r1=805519&r2=805520&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 Aug 18 18:16:02 2009
@@ -135,6 +135,10 @@
{
properties.setProperty( "scm.tagBase", config.getScmTagBase() );
}
+ if ( config.getScmBranchBase() != null )
+ {
+ properties.setProperty( "scm.branchBase", config.getScmBranchBase() );
+ }
if ( config.getScmReleaseLabel() != null )
{
properties.setProperty( "scm.tag", config.getScmReleaseLabel() );
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=805520&r1=805519&r2=805520&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 Aug 18 18:16:02 2009
@@ -58,6 +58,7 @@
mergeInto.setScmReleaseLabel(
mergeOverride( mergeInto.getScmReleaseLabel(), toBeMerged.getScmReleaseLabel() ) );
mergeInto.setScmTagBase( mergeOverride( mergeInto.getScmTagBase(), toBeMerged.getScmTagBase() ) );
+ mergeInto.setScmBranchBase( mergeOverride( mergeInto.getScmBranchBase(), toBeMerged.getScmBranchBase() ) );
mergeInto.setScmUsername( mergeOverride( mergeInto.getScmUsername(), toBeMerged.getScmUsername() ) );
mergeInto.setScmPassword( mergeOverride( mergeInto.getScmPassword(), toBeMerged.getScmPassword() ) );
mergeInto.setScmPrivateKey( mergeOverride( mergeInto.getScmPrivateKey(), toBeMerged.getScmPrivateKey() ) );
@@ -134,6 +135,7 @@
releaseDescriptor.setScmPrivateKey( properties.getProperty( "scm.privateKey" ) );
releaseDescriptor.setScmPrivateKeyPassPhrase( properties.getProperty( "scm.passphrase" ) );
releaseDescriptor.setScmTagBase( properties.getProperty( "scm.tagBase" ) );
+ releaseDescriptor.setScmBranchBase( properties.getProperty( "scm.branchBase" ) );
releaseDescriptor.setScmReleaseLabel( properties.getProperty( "scm.tag" ) );
releaseDescriptor.setScmCommentPrefix( properties.getProperty( "scm.commentPrefix" ) );
releaseDescriptor.setAdditionalArguments( properties.getProperty( "exec.additionalArguments" ) );
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java?rev=805520&r1=805519&r2=805520&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java Tue Aug 18 18:16:02 2009
@@ -97,7 +97,7 @@
{
Scm scm = project.getScm();
String branchName = releaseDescriptor.getScmReleaseLabel();
- String branchBase = releaseDescriptor.getScmTagBase();
+ String branchBase = releaseDescriptor.getScmBranchBase();
String subDirectoryBranch = "";
// TODO: svn utils should take care of prepending this
@@ -145,9 +145,9 @@
{
subDirectoryBranch = scm.getUrl().substring( rootScm.getUrl().length() );
}
- // use original tag base without protocol
+ // use original branch base without protocol
String value = translator.translateBranchUrl( scm.getUrl(), branchName + subDirectoryBranch,
- releaseDescriptor.getScmTagBase() );
+ releaseDescriptor.getScmBranchBase() );
if ( !value.equals( scm.getUrl() ) )
{
rewriteElement( "url", value, scmRoot, namespace );
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/DefaultScmRepositoryConfigurator.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/DefaultScmRepositoryConfigurator.java?rev=805520&r1=805519&r2=805520&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/DefaultScmRepositoryConfigurator.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/DefaultScmRepositoryConfigurator.java Tue Aug 18 18:16:02 2009
@@ -141,6 +141,12 @@
{
svnRepo.setTagBase( tagBase );
}
+
+ String branchBase = releaseDescriptor.getScmBranchBase();
+ if ( !StringUtils.isEmpty( branchBase ) )
+ {
+ svnRepo.setBranchBase( branchBase );
+ }
}
return repository;
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=805520&r1=805519&r2=805520&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 Aug 18 18:16:02 2009
@@ -86,6 +86,15 @@
</description>
</field>
<field>
+ <name>scmBranchBase</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description>
+ Where you are going to put your branched sources
+ Example https://svn.apache.org/repos/asf/maven/plugins/branches
+ </description>
+ </field>
+ <field>
<name>scmReleaseLabel</name>
<version>1.0.0+</version>
<type>String</type>
@@ -649,6 +658,10 @@
{
return false;
}
+ if ( scmBranchBase != null ? !scmBranchBase.equals( that.scmBranchBase ) : that.scmBranchBase != null )
+ {
+ return false;
+ }
if ( scmSourceUrl != null ? !scmSourceUrl.equals( that.scmSourceUrl ) : that.scmSourceUrl != null )
{
return false;
@@ -732,6 +745,7 @@
result = 29 * result + ( preparationGoals != null ? preparationGoals.hashCode() : 0 );
result = 29 * result + ( pomFileName != null ? pomFileName.hashCode() : 0 );
result = 29 * result + ( scmTagBase != null ? scmTagBase.hashCode() : 0 );
+ result = 29 * result + ( scmBranchBase != null ? scmBranchBase.hashCode() : 0 );
result = 29 * result + ( scmUsername != null ? scmUsername.hashCode() : 0 );
result = 29 * result + ( scmPassword != null ? scmPassword.hashCode() : 0 );
result = 29 * result + ( scmSourceUrl != null ? scmSourceUrl.hashCode() : 0 );
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java?rev=805520&r1=805519&r2=805520&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java Tue Aug 18 18:16:02 2009
@@ -273,6 +273,7 @@
config.setScmPrivateKey( "private-key-write" );
config.setScmPrivateKeyPassPhrase( "passphrase-write" );
config.setScmTagBase( "tag-base-write" );
+ config.setScmBranchBase( "branch-base-write" );
config.setScmReleaseLabel( "tag-write" );
config.setAdditionalArguments( "additional-args-write" );
config.setPreparationGoals( "preparation-goals-write" );
@@ -345,6 +346,7 @@
expected.setScmPrivateKey( "private-key" );
expected.setScmPrivateKeyPassPhrase( "passphrase" );
expected.setScmTagBase( "tagBase" );
+ expected.setScmBranchBase( "branchBase" );
expected.setScmReleaseLabel( "tag" );
expected.setAdditionalArguments( "additional-arguments" );
expected.setPreparationGoals( "preparation-goals" );
Modified: maven/release/trunk/maven-release-manager/src/test/resources/release.properties
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/release.properties?rev=805520&r1=805519&r2=805520&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/release.properties (original)
+++ maven/release/trunk/maven-release-manager/src/test/resources/release.properties Tue Aug 18 18:16:02 2009
@@ -24,6 +24,7 @@
scm.privateKey=private-key
scm.passphrase=passphrase
scm.tagBase=tagBase
+scm.branchBase=branchBase
scm.tag=tag
exec.additionalArguments=additional-arguments
Modified: maven/release/trunk/maven-release-manager/src/test/resources/rewrite-release.properties
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/rewrite-release.properties?rev=805520&r1=805519&r2=805520&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/rewrite-release.properties (original)
+++ maven/release/trunk/maven-release-manager/src/test/resources/rewrite-release.properties Tue Aug 18 18:16:02 2009
@@ -24,3 +24,4 @@
scm.privateKey=private-key
scm.passphrase=passphrase
scm.tagBase=tagBase
+scm.branchBase=branchBase
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?rev=805520&r1=805519&r2=805520&view=diff
==============================================================================
--- 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 Tue Aug 18 18:16:02 2009
@@ -44,7 +44,16 @@
* @required
*/
private String branchName;
-
+
+ /**
+ * The branch base directory in SVN, you must define it if you don't use the standard svn layout (trunk/tags/branches).
+ * For example, <code>http://svn.apache.org/repos/asf/maven/plugins/branches</code>. The URL is an SVN URL and does not
+ * include the SCM provider and protocol.
+ *
+ * @parameter expression="${branchBase}"
+ */
+ private String branchBase;
+
/**
* Whether to update versions in the branch.
*
@@ -145,6 +154,7 @@
config.setUpdateDependencies( updateDependencies );
config.setAutoVersionSubmodules( autoVersionSubmodules );
config.setScmReleaseLabel( branchName );
+ config.setScmBranchBase( branchBase );
config.setBranchCreation( true );
config.setUpdateBranchVersions( updateBranchVersions );
config.setUpdateWorkingCopyVersions( updateWorkingCopyVersions );