You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2008/05/23 13:30:45 UTC

svn commit: r659506 - in /maven/release/trunk/maven-release-manager/src: main/java/org/apache/maven/shared/release/phase/ test/java/org/apache/maven/shared/release/phase/ test/resources/projects/generate-release-poms/whitespace-around-coords/ test/reso...

Author: bentmann
Date: Fri May 23 04:30:44 2008
New Revision: 659506

URL: http://svn.apache.org/viewvc?rev=659506&view=rev
Log:
o Extended whitespace preservation to scm elements

Added:
    maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/
      - copied from r659496, maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-coords/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-values/
      - copied from r659496, maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-coords/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-values/
      - copied from r659496, maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-coords/
Removed:
    maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-coords/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-coords/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-coords/
Modified:
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
    maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java
    maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/expected-release-pom.xml
    maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/pom.xml
    maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/subproject1/expected-release-pom.xml
    maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/subproject2/expected-release-pom.xml
    maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-values/expected-pom.xml
    maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-values/pom.xml
    maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-values/expected-pom.xml
    maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-values/pom.xml

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java?rev=659506&r1=659505&r2=659506&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java Fri May 23 04:30:44 2008
@@ -268,16 +268,17 @@
     }
 
     /**
-     * Updates the version information in the given <code>&lt;version&gt;</code> element.
+     * Updates the text value of the given element. The primary purpose of this method is to preserve any whitespace
+     * around the original text value.
      * 
-     * @param versionElement The version element to update, must not be <code>null</code>.
-     * @param version The version string to set, must not be <code>null</code>.
+     * @param element The element to update, must not be <code>null</code>.
+     * @param value The text string to set, must not be <code>null</code>.
      */
-    private void rewriteVersion( Element versionElement, String version )
+    private void rewriteValue( Element element, String value )
     {
         String leadingWhitespace = "";
         String trailingWhitespace = "";
-        String text = versionElement.getText();
+        String text = element.getText();
         if ( StringUtils.isNotEmpty( text ) )
         {
             String trimmed = text.trim();
@@ -285,7 +286,7 @@
             leadingWhitespace = text.substring( 0, idx );
             trailingWhitespace = text.substring( idx + trimmed.length() );
         }
-        versionElement.setText( leadingWhitespace + version + trailingWhitespace );
+        element.setText( leadingWhitespace + value + trailingWhitespace );
     }
 
     private void rewriteVersion( Element rootElement, Namespace namespace, Map mappedVersions, String projectId,
@@ -315,7 +316,7 @@
         }
         else
         {
-            rewriteVersion( versionElement, version );
+            rewriteValue( versionElement, version );
         }
     }
 
@@ -340,7 +341,7 @@
             }
             else
             {
-                rewriteVersion( versionElement, parentVersion );
+                rewriteValue( versionElement, parentVersion );
             }
         }
         return parentVersion;
@@ -530,7 +531,7 @@
                             {
                                 if ( mappedVersion == null )
                                 {
-                                    rewriteVersion( versionElement, resolvedSnapshotVersion );
+                                    rewriteValue( versionElement, resolvedSnapshotVersion );
                                     return;
                                 }
 
@@ -540,7 +541,7 @@
                                 if ( originalVersion.equals( versionText ) ||
                                     !mappedVersion.equals( mappedVersions.get( projectId ) ) )
                                 {
-                                    rewriteVersion( versionElement, mappedVersion );
+                                    rewriteValue( versionElement, mappedVersion );
                                 }
                                 else if ( versionText.matches( "\\$\\{project.+\\}" ) ||
                                     versionText.matches( "\\$\\{pom.+\\}" ) || "${version}".equals( versionText ) )
@@ -561,7 +562,7 @@
                                         if ( originalVersion.equals( propertyValue ) )
                                         {
                                             // change the property only if the property is the same as what's in the reactor
-                                            property.setText( mappedVersion );
+                                            rewriteValue( property, mappedVersion );
                                         }
                                         else if ( mappedVersion.equals( propertyValue ))
                                         {
@@ -775,7 +776,7 @@
         {
             if ( value != null )
             {
-                tagElement.setText( value );
+                rewriteValue( tagElement, value );
             }
             else
             {

Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java?rev=659506&r1=659505&r2=659506&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java Fri May 23 04:30:44 2008
@@ -499,10 +499,10 @@
         }
     }
 
-    public void testRewriteWhitespaceAroundCoords()
+    public void testRewriteWhitespaceAroundValues()
         throws Exception
     {
-        List reactorProjects = createReactorProjects( "whitespace-around-coords" );
+        List reactorProjects = createReactorProjects( "whitespace-around-values" );
         ReleaseDescriptor config = createConfigurationForPomWithParentAlternateNextVersion( reactorProjects );
         mapNextVersion( config, "groupId:subproject2" );
 

Modified: maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/expected-release-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/expected-release-pom.xml?rev=659506&r1=659496&r2=659506&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/expected-release-pom.xml (original)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/expected-release-pom.xml Fri May 23 04:30:44 2008
@@ -4,6 +4,11 @@
   <artifactId>artifactId</artifactId>
   <packaging>pom</packaging>
   <version>1.0</version>
+  <scm>
+    <connection>scm:svn:file://localhost/tmp/scm-repo/tags/release-label</connection>
+    <developerConnection>scm:svn:file://localhost/tmp/scm-repo/tags/release-label</developerConnection>
+    <url>file://localhost/tmp/scm-repo/tags/release-label</url>
+  </scm>
   <build>
     <sourceDirectory>src/main/java</sourceDirectory>
     <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>

Modified: maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/pom.xml?rev=659506&r1=659496&r2=659506&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/pom.xml (original)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/pom.xml Fri May 23 04:30:44 2008
@@ -27,6 +27,18 @@
   </version>
   <packaging>pom</packaging>
 
+  <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>
+
   <dependencyManagement>
     <dependencies>
       <dependency>

Modified: maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/subproject1/expected-release-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/subproject1/expected-release-pom.xml?rev=659506&r1=659496&r2=659506&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/subproject1/expected-release-pom.xml (original)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/subproject1/expected-release-pom.xml Fri May 23 04:30:44 2008
@@ -3,6 +3,11 @@
   <groupId>groupId</groupId>
   <artifactId>subproject1</artifactId>
   <version>2.0</version>
+  <scm>
+    <connection>scm:svn:file://localhost/tmp/scm-repo/tags/release-label</connection>
+    <developerConnection>scm:svn:file://localhost/tmp/scm-repo/tags/release-label</developerConnection>
+    <url>file://localhost/tmp/scm-repo/tags/release-label</url>
+  </scm>
   <build>
     <sourceDirectory>src/main/java</sourceDirectory>
     <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>

Modified: maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/subproject2/expected-release-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/subproject2/expected-release-pom.xml?rev=659506&r1=659496&r2=659506&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/subproject2/expected-release-pom.xml (original)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/whitespace-around-values/subproject2/expected-release-pom.xml Fri May 23 04:30:44 2008
@@ -3,6 +3,11 @@
   <groupId>groupId</groupId>
   <artifactId>subproject2</artifactId>
   <version>1.0</version>
+  <scm>
+    <connection>scm:svn:file://localhost/tmp/scm-repo/tags/release-label</connection>
+    <developerConnection>scm:svn:file://localhost/tmp/scm-repo/tags/release-label</developerConnection>
+    <url>file://localhost/tmp/scm-repo/tags/release-label</url>
+  </scm>
   <build>
     <sourceDirectory>src/main/java</sourceDirectory>
     <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>

Modified: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-values/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-values/expected-pom.xml?rev=659506&r1=659496&r2=659506&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-values/expected-pom.xml (original)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-values/expected-pom.xml Fri May 23 04:30:44 2008
@@ -27,6 +27,18 @@
   </version>
   <packaging>pom</packaging>
 
+  <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>
+
   <dependencyManagement>
     <dependencies>
       <dependency>

Modified: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-values/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-values/pom.xml?rev=659506&r1=659496&r2=659506&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-values/pom.xml (original)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/whitespace-around-values/pom.xml Fri May 23 04:30:44 2008
@@ -27,6 +27,18 @@
   </version>
   <packaging>pom</packaging>
 
+  <scm>
+    <connection>
+      scm:svn:file://localhost/tmp/scm-repo/tags/release-label
+    </connection>
+    <developerConnection>
+      scm:svn:file://localhost/tmp/scm-repo/tags/release-label
+    </developerConnection>
+    <url>
+      file://localhost/tmp/scm-repo/tags/release-label
+    </url>
+  </scm>
+
   <dependencyManagement>
     <dependencies>
       <dependency>

Modified: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-values/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-values/expected-pom.xml?rev=659506&r1=659496&r2=659506&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-values/expected-pom.xml (original)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-values/expected-pom.xml Fri May 23 04:30:44 2008
@@ -27,6 +27,18 @@
   </version>
   <packaging>pom</packaging>
 
+  <scm>
+    <connection>
+      scm:svn:file://localhost/tmp/scm-repo/tags/release-label
+    </connection>
+    <developerConnection>
+      scm:svn:file://localhost/tmp/scm-repo/tags/release-label
+    </developerConnection>
+    <url>
+      file://localhost/tmp/scm-repo/tags/release-label
+    </url>
+  </scm>
+
   <dependencyManagement>
     <dependencies>
       <dependency>

Modified: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-values/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-values/pom.xml?rev=659506&r1=659496&r2=659506&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-values/pom.xml (original)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/whitespace-around-values/pom.xml Fri May 23 04:30:44 2008
@@ -27,6 +27,18 @@
   </version>
   <packaging>pom</packaging>
 
+  <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>
+
   <dependencyManagement>
     <dependencies>
       <dependency>