You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by fg...@apache.org on 2006/01/01 22:58:46 UTC

svn commit: r360568 - /maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java

Author: fgiust
Date: Sun Jan  1 13:58:37 2006
New Revision: 360568

URL: http://svn.apache.org/viewcvs?rev=360568&view=rev
Log:
temporary hack to add namespace declaration, not supported by modello/MavenXpp3Writer (prepare-release strips out namespaces from POMs).

Modified:
    maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java

Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java?rev=360568&r1=360567&r2=360568&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java Sun Jan  1 13:58:37 2006
@@ -19,6 +19,7 @@
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.io.StringWriter;
 import java.io.Writer;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -1513,14 +1514,31 @@
         }
 
         Writer writer = null;
+        Writer tempOutput = null;
 
         try
         {
-            writer = new FileWriter( pomFile );
 
             MavenXpp3Writer pomWriter = new MavenXpp3Writer();
 
-            pomWriter.write( writer, model );
+            // temporary hack to add namespace declaration, not supported by modello/MavenXpp3Writer
+            // MavenXpp3Writer doesn't support writing the xsd declaration, do it manually
+            tempOutput = new StringWriter();
+            pomWriter.write( tempOutput, model );
+            String pomString = tempOutput.toString();
+            pomString = StringUtils
+                .replaceOnce(
+                              pomString,
+                              "<project>",
+                              "<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
+                                  + System.getProperty( "line.separator" )
+                                  + "  xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd\">" );
+
+            writer = new FileWriter( pomFile );
+            writer.write( pomString );
+
+            // pomWriter.write( writer, model );
+
         }
         catch ( IOException e )
         {
@@ -1528,6 +1546,7 @@
         }
         finally
         {
+            IOUtil.close( tempOutput );
             IOUtil.close( writer );
         }
     }