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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]