You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ca...@apache.org on 2006/01/19 20:48:40 UTC
svn commit: r370584 - in
/maven/plugins/branches/maven-assembly-plugin-2.0.x: pom.xml
src/main/java/org/apache/maven/plugin/assembly/AssemblyMojo.java
Author: carlos
Date: Thu Jan 19 11:48:39 2006
New Revision: 370584
URL: http://svn.apache.org/viewcvs?rev=370584&view=rev
Log:
Applied patches from 2.1
PR: MASSEMBLY-1
Modified:
maven/plugins/branches/maven-assembly-plugin-2.0.x/pom.xml
maven/plugins/branches/maven-assembly-plugin-2.0.x/src/main/java/org/apache/maven/plugin/assembly/AssemblyMojo.java
Modified: maven/plugins/branches/maven-assembly-plugin-2.0.x/pom.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/branches/maven-assembly-plugin-2.0.x/pom.xml?rev=370584&r1=370583&r2=370584&view=diff
==============================================================================
--- maven/plugins/branches/maven-assembly-plugin-2.0.x/pom.xml (original)
+++ maven/plugins/branches/maven-assembly-plugin-2.0.x/pom.xml Thu Jan 19 11:48:39 2006
@@ -8,7 +8,7 @@
<artifactId>maven-assembly-plugin</artifactId>
<packaging>maven-plugin</packaging>
<name>Maven Assembly Plugin</name>
- <version>2.0</version>
+ <version>2.0.1-SNAPSHOT</version>
<developers>
<developer>
<id>vsiveton</id>
@@ -45,6 +45,11 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-archiver</artifactId>
+ <version>2.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
Modified: maven/plugins/branches/maven-assembly-plugin-2.0.x/src/main/java/org/apache/maven/plugin/assembly/AssemblyMojo.java
URL: http://svn.apache.org/viewcvs/maven/plugins/branches/maven-assembly-plugin-2.0.x/src/main/java/org/apache/maven/plugin/assembly/AssemblyMojo.java?rev=370584&r1=370583&r2=370584&view=diff
==============================================================================
--- maven/plugins/branches/maven-assembly-plugin-2.0.x/src/main/java/org/apache/maven/plugin/assembly/AssemblyMojo.java (original)
+++ maven/plugins/branches/maven-assembly-plugin-2.0.x/src/main/java/org/apache/maven/plugin/assembly/AssemblyMojo.java Thu Jan 19 11:48:39 2006
@@ -16,7 +16,25 @@
* limitations under the License.
*/
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.Iterator;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.maven.archiver.MavenArchiveConfiguration;
+import org.apache.maven.archiver.MavenArchiver;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DependencyResolutionRequiredException;
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.resolver.filter.AndArtifactFilter;
import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
@@ -32,6 +50,9 @@
import org.apache.maven.project.MavenProjectHelper;
import org.codehaus.plexus.archiver.Archiver;
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.archiver.manager.NoSuchArchiverException;
import org.codehaus.plexus.archiver.tar.TarArchiver;
import org.codehaus.plexus.util.DirectoryScanner;
@@ -40,21 +61,6 @@
import org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
/**
* Assemble an application bundle or distribution from an assembly descriptor.
*
@@ -134,6 +140,11 @@
private boolean includeSite;
/**
+ * @parameter
+ */
+ private MavenArchiveConfiguration archive;
+
+ /**
* Create the binary distribution.
*
* @throws MojoExecutionException
@@ -187,6 +198,34 @@
processFileSets( archiver, assembly.getFileSets(), assembly.isIncludeBaseDirectory() );
destFile = new File( outputDirectory, filename );
+
+ if ( archiver instanceof JarArchiver )
+ {
+ // TODO: I'd really prefer to rewrite MavenArchiver as either a separate manifest creation utility (and to
+ // create an include pom.properties etc into another archiver), or an implementation of an archiver
+ // (the first is preferable).
+ MavenArchiver mavenArchiver = new MavenArchiver();
+
+ if ( archive != null && archive.getManifest() != null )
+ {
+ try
+ {
+ Manifest manifest = mavenArchiver.getManifest( project, archive.getManifest() );
+
+ JarArchiver jarArchiver = (JarArchiver) archiver;
+ jarArchiver.addConfiguredManifest( manifest );
+ }
+ catch ( ManifestException e )
+ {
+ throw new MojoExecutionException( "Error creating manifest: " + e.getMessage(), e );
+ }
+ catch ( DependencyResolutionRequiredException e )
+ {
+ throw new MojoExecutionException( "Dependencies were not resolved: " + e.getMessage(), e );
+ }
+ }
+ }
+
archiver.setDestFile( destFile );
archiver.createArchive();