You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2006/04/12 19:47:24 UTC

svn commit: r393545 - in /maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly: AbstractAssemblyMojo.java AbstractUnpackingMojo.java DirectoryMojo.java

Author: jvanzyl
Date: Wed Apr 12 10:47:21 2006
New Revision: 393545

URL: http://svn.apache.org/viewcvs?rev=393545&view=rev
Log:
[MASSEMBLY-82] repository now grabs transitive deps
[MASSEMBLY-81] it is now easier to maintain a repository assembly, by specifying no includes the default will be to include all dependencies

Modified:
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractAssemblyMojo.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractUnpackingMojo.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/DirectoryMojo.java

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractAssemblyMojo.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractAssemblyMojo.java?rev=393545&r1=393544&r2=393545&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractAssemblyMojo.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractAssemblyMojo.java Wed Apr 12 10:47:21 2006
@@ -417,18 +417,39 @@
 
             Set dependencyArtifacts = getDependencies();
 
-            List artifacts = new ArrayList();
-
             AndArtifactFilter filter = new AndArtifactFilter();
 
-            if ( !repository.getIncludes().isEmpty() )
+            // ----------------------------------------------------------------------------
+            // Includes
+            //
+            // We'll take everything if no includes are specified to try and make this
+            // process more maintainable. Don't want to have to update the assembly
+            // descriptor everytime the POM is updated.
+            // ----------------------------------------------------------------------------
+
+            if ( repository.getIncludes().isEmpty() )
+            {
+                filter.add( new IncludesArtifactFilter( getDependenciesIncludeList() ) );
+            }
+            else
             {
                 filter.add( new IncludesArtifactFilter( repository.getIncludes() ) );
             }
+
+
+            // ----------------------------------------------------------------------------
+            // Excludes
+            //
+            // We still want to make it easy to exclude a few things even if we slurp
+            // up everything.
+            // ----------------------------------------------------------------------------
+
             if ( !repository.getExcludes().isEmpty() )
             {
                 filter.add( new ExcludesArtifactFilter( repository.getExcludes() ) );
             }
+
+            List artifacts = new ArrayList();
 
             for ( Iterator j = dependencyArtifacts.iterator(); j.hasNext(); )
             {

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractUnpackingMojo.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractUnpackingMojo.java?rev=393545&r1=393544&r2=393545&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractUnpackingMojo.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractUnpackingMojo.java Wed Apr 12 10:47:21 2006
@@ -39,6 +39,8 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.Collection;
+import java.util.ArrayList;
 
 /**
  * Base routines for assembly and unpack goals.
@@ -122,14 +124,52 @@
      */
     protected MavenProject project;
 
+
     /**
-     * Retrieves all artifact dependencies within the reactor
+     * Retrieves all artifact dependencies.
      *
      * @return A HashSet of artifacts
      */
     protected Set getDependencies()
         throws MojoExecutionException
     {
+        return new HashSet( getDependenciesMap().values() );
+    }
+
+    /**
+     * Retrieves an includes list generated from the existing depedencies in a project.
+     *
+     * @return A List of includes
+     * @throws MojoExecutionException
+     */
+    protected List getDependenciesIncludeList()
+        throws MojoExecutionException
+    {
+        List includes = new ArrayList();
+
+        for ( Iterator i = getDependencies().iterator(); i.hasNext(); )
+        {
+            Artifact a = (Artifact) i.next();
+
+            if ( project.getArtifactId().equals( a.getArtifactId() ))
+            {
+                continue;
+            }
+
+            includes.add( a.getGroupId() + ":" + a.getArtifactId() );
+        }
+
+        return includes;
+    }
+
+    /**
+     * Retrieves all artifact dependencies in a Map keyed by conflict id.
+     *
+     * @return A Map of artifacts
+     */
+    protected Map getDependenciesMap()
+        throws MojoExecutionException
+    {
         Map dependencies = new HashMap();
 
         MavenProject project = getExecutedProject();
@@ -175,7 +215,8 @@
                 }
             }
         }
-        return new HashSet( dependencies.values() );
+
+        return dependencies;
     }
 
     protected Set getModules()

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/DirectoryMojo.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/DirectoryMojo.java?rev=393545&r1=393544&r2=393545&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/DirectoryMojo.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/DirectoryMojo.java Wed Apr 12 10:47:21 2006
@@ -40,5 +40,4 @@
     {
         return executedProject;
     }
-
 }