You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jd...@apache.org on 2005/06/21 01:34:34 UTC

svn commit: r191588 - in /maven/components/trunk: maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java maven-project/src/main/java/org/apache/maven/project/MavenProject.java

Author: jdcasey
Date: Mon Jun 20 16:34:34 2005
New Revision: 191588

URL: http://svn.apache.org/viewcvs?rev=191588&view=rev
Log:
Resolving issue: MNG-271

o Added method to MavenProject called writeModel( Writer ) 
o Added code in MavenArchiver to export the full effective POM to ${project.build.directory}/exported-pom.xml and then embed that in the archive, rather than simply embedding ${project.file}.


Modified:
    maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java

Modified: maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java?rev=191588&r1=191587&r2=191588&view=diff
==============================================================================
--- maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java (original)
+++ maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java Mon Jun 20 16:34:34 2005
@@ -18,13 +18,16 @@
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DependencyResolutionRequiredException;
+import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.archiver.ArchiverException;
 import org.codehaus.plexus.archiver.jar.JarArchiver;
 import org.codehaus.plexus.archiver.jar.Manifest;
 import org.codehaus.plexus.archiver.jar.ManifestException;
+import org.codehaus.plexus.util.IOUtil;
 
 import java.io.File;
+import java.io.FileWriter;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.FileOutputStream;
@@ -215,8 +218,11 @@
         String groupId = project.getGroupId();
 
         String artifactId = project.getArtifactId();
+        
+        
+        File exportReadyPom = writeExportReadyPom( project );
 
-        archiver.addFile( project.getFile(), "META-INF/maven/" + groupId + "/" + artifactId + "/pom.xml" );
+        archiver.addFile( exportReadyPom, "META-INF/maven/" + groupId + "/" + artifactId + "/pom.xml" );
 
         // ----------------------------------------------------------------------
         // Create pom.properties file
@@ -268,5 +274,27 @@
         // Cleanup
 
         pomPropertiesFile.delete();
+    }
+
+    private File writeExportReadyPom( MavenProject project ) throws IOException
+    {
+        String buildDirectory = project.getBuild().getDirectory();
+        
+        File fullPom = new File( buildDirectory, "exported-pom.xml" );
+        
+        FileWriter fWriter = null;
+        
+        try
+        {
+            fWriter = new FileWriter( fullPom );
+            
+            project.writeModel( fWriter );
+        }
+        finally
+        {
+            IOUtil.close( fWriter );
+        }
+        
+        return fullPom;
     }
 }

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=191588&r1=191587&r2=191588&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java Mon Jun 20 16:34:34 2005
@@ -40,9 +40,12 @@
 import org.apache.maven.model.PluginExecution;
 import org.apache.maven.model.ReportPlugin;
 import org.apache.maven.model.ReportSet;
+import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 
 import java.io.File;
+import java.io.IOException;
+import java.io.Writer;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -1032,5 +1035,12 @@
     public void setExecutionProject( MavenProject executionProject )
     {
         this.executionProject = executionProject;
+    }
+    
+    public void writeModel( Writer writer ) throws IOException
+    {
+        MavenXpp3Writer pomWriter = new MavenXpp3Writer();
+        
+        pomWriter.write( writer, getModel() );
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org