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;
}
-
}