You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2006/05/03 18:08:55 UTC

svn commit: r399345 - in /maven/plugins/trunk/maven-release-plugin/src: main/java/org/apache/maven/plugins/release/phase/ main/java/org/apache/maven/plugins/release/scm/ test/java/org/apache/maven/plugins/release/phase/ test/resources/projects/rewrite-...

Author: brett
Date: Wed May  3 09:08:53 2006
New Revision: 399345

URL: http://svn.apache.org/viewcvs?rev=399345&view=rev
Log:
[MRELEASE-43] use tag base when rewriting POM

Added:
    maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/
    maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/expected-pom.xml   (with props)
    maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/pom.xml   (with props)
Modified:
    maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java
    maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/CvsScmTranslator.java
    maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/ScmTranslator.java
    maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/SubversionScmTranslator.java
    maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java

Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java?rev=399345&r1=399344&r2=399345&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java Wed May  3 09:08:53 2006
@@ -56,19 +56,29 @@
                 {
                     Scm scm = project.getOriginalModel().getScm();
                     String tag = releaseConfiguration.getReleaseLabel();
+                    String tagBase = releaseConfiguration.getTagBase();
+
+                    // TODO: svn utils should take care of prepending this
+                    if ( tagBase != null )
+                    {
+                        tagBase = "scm:svn:" + tagBase;
+                    }
                     scmRoot.getChild( "connection", namespace ).setText(
-                        translator.translateTagUrl( scm.getConnection(), tag ) );
+                        translator.translateTagUrl( scm.getConnection(), tag, tagBase ) );
 
                     Element devConnection = scmRoot.getChild( "developerConnection", namespace );
                     if ( devConnection != null )
                     {
-                        devConnection.setText( translator.translateTagUrl( scm.getDeveloperConnection(), tag ) );
+                        devConnection.setText(
+                            translator.translateTagUrl( scm.getDeveloperConnection(), tag, tagBase ) );
                     }
 
                     Element url = scmRoot.getChild( "url", namespace );
                     if ( url != null )
                     {
-                        url.setText( translator.translateTagUrl( scm.getUrl(), tag ) );
+                        // use original tag base without protocol
+                        url.setText(
+                            translator.translateTagUrl( scm.getUrl(), tag, releaseConfiguration.getTagBase() ) );
                     }
 
                     rewriteTagElement( translator, tag, scmRoot, namespace );

Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/CvsScmTranslator.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/CvsScmTranslator.java?rev=399345&r1=399344&r2=399345&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/CvsScmTranslator.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/CvsScmTranslator.java Wed May  3 09:08:53 2006
@@ -24,7 +24,7 @@
 public class CvsScmTranslator
     implements ScmTranslator
 {
-    public String translateTagUrl( String url, String tag )
+    public String translateTagUrl( String url, String tag, String tagBase )
     {
         return url;
     }

Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/ScmTranslator.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/ScmTranslator.java?rev=399345&r1=399344&r2=399345&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/ScmTranslator.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/ScmTranslator.java Wed May  3 09:08:53 2006
@@ -32,11 +32,12 @@
     /**
      * Take an URL and find the correct replacement URL for a given tag.
      *
-     * @param url the source URL
-     * @param tag the tag
+     * @param url     the source URL
+     * @param tag     the tag
+     * @param tagBase the tag base for providers that support it
      * @return the replacement URL
      */
-    String translateTagUrl( String url, String tag );
+    String translateTagUrl( String url, String tag, String tagBase );
 
     /**
      * Determine what tag should be added to the POM given the original tag and the new one.

Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/SubversionScmTranslator.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/SubversionScmTranslator.java?rev=399345&r1=399344&r2=399345&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/SubversionScmTranslator.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/scm/SubversionScmTranslator.java Wed May  3 09:08:53 2006
@@ -26,9 +26,9 @@
 public class SubversionScmTranslator
     implements ScmTranslator
 {
-    public String translateTagUrl( String url, String tag )
+    public String translateTagUrl( String url, String tag, String tagBase )
     {
-        return SvnTagBranchUtils.resolveTagUrl( url, tag );
+        return SvnTagBranchUtils.resolveUrl( url, tagBase, SvnTagBranchUtils.SVN_TAGS, tag );
     }
 
     public String resolveTag( String tag )

Modified: maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java?rev=399345&r1=399344&r2=399345&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java Wed May  3 09:08:53 2006
@@ -188,6 +188,18 @@
         assertTrue( compareFiles( config.getReactorProjects() ) );
     }
 
+    public void testRewriteBasicPomWithTagBase()
+        throws Exception
+    {
+        ReleaseConfiguration config = createConfigurationFromProjects( "basic-pom-with-tag-base" );
+        config.setTagBase( "file://localhost/tmp/scm-repo/releases" );
+        mapNextVersion( config, "groupId:artifactId" );
+
+        phase.execute( config );
+
+        assertTrue( compareFiles( config.getReactorProjects() ) );
+    }
+
     public void testRewriteBasicPomWithCvsFromTag()
         throws Exception
     {

Added: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/expected-pom.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/expected-pom.xml?rev=399345&view=auto
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/expected-pom.xml (added)
+++ maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/expected-pom.xml Wed May  3 09:08:53 2006
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Copyright 2005-2006 The Apache Software Foundation.
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0</version>
+
+  <prerequisites>
+    <maven>2.0.4</maven>
+  </prerequisites>
+
+  <scm>
+    <connection>scm:svn:file://localhost/tmp/scm-repo/releases/release-label</connection>
+    <developerConnection>scm:svn:file://localhost/tmp/scm-repo/releases/release-label</developerConnection>
+    <url>file://localhost/tmp/scm-repo/releases/release-label</url>
+  </scm>
+</project>
\ No newline at end of file

Propchange: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/expected-pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/expected-pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/pom.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/pom.xml?rev=399345&view=auto
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/pom.xml (added)
+++ maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/pom.xml Wed May  3 09:08:53 2006
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Copyright 2005-2006 The Apache Software Foundation.
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <prerequisites>
+    <maven>2.0.4</maven>
+  </prerequisites>
+
+  <scm>
+    <connection>scm:svn:file://localhost/tmp/scm-repo/trunk</connection>
+    <developerConnection>scm:svn:file://localhost/tmp/scm-repo/trunk</developerConnection>
+    <url>file://localhost/tmp/scm-repo/trunk</url>
+  </scm>
+</project>
\ No newline at end of file

Propchange: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/rewrite-for-release/basic-pom-with-tag-base/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision