You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/08/29 21:16:06 UTC

svn commit: r570901 - in /maven/plugins/trunk/maven-assembly-plugin: ./ src/it/projects/dependency-sets/dependencySet-nonTransitive/ src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/ src/it/projects/dependency-sets/dependencySet-nonTr...

Author: jdcasey
Date: Wed Aug 29 12:16:04 2007
New Revision: 570901

URL: http://svn.apache.org/viewvc?rev=570901&view=rev
Log:
[MASSEMBLY-194] Adding useTransitiveDependencies flag to dependency-sets, set to try by default (process transitive dependencies, or subject them to useTransitiveFiltering flag).

Added:
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/README-jira.txt   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/pom.xml   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/test/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/test/App.java   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/test/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/test/AppTest.java   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/pom.xml   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/assemble/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/assemble/bin.xml   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/test/
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/test/App.java   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/goals.txt   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/pom.xml   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/verify.bsh
Modified:
    maven/plugins/trunk/maven-assembly-plugin/pom.xml
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhase.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolver.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DependencyResolver.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/component.mdo
    maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/descriptor.mdo
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java

Modified: maven/plugins/trunk/maven-assembly-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/pom.xml?rev=570901&r1=570900&r2=570901&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/pom.xml Wed Aug 29 12:16:04 2007
@@ -321,11 +321,12 @@
                   <projectsDirectory>${project.build.testOutputDirectory}/projects</projectsDirectory>
                   <debug>true</debug>
                   
-                  <!-- Useful config for debugging one IT -->
+                 <!-- Useful config for debugging one IT -->
                   <!-- 
                   <pomIncludes>
-                    <pomInclude>multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/pom.xml</pomInclude>
-                    <pomInclude>multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/pom.xml</pomInclude>
+                    <pomInclude>dependency-sets/including-pom-dependency/pom.xml</pomInclude>
+                    <pomInclude>dependency-sets/including-sar-dependency/pom.xml</pomInclude>
+                    <pomInclude>dependency-sets/massembly-235/pom.xml</pomInclude>
                   </pomIncludes>
                   <streamLogs>true</streamLogs>
                    -->

Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/README-jira.txt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/README-jira.txt?rev=570901&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/README-jira.txt (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/README-jira.txt Wed Aug 29 12:16:04 2007
@@ -0,0 +1 @@
+MASSEMBLY-132

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/README-jira.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/README-jira.txt
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/pom.xml?rev=570901&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/pom.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/pom.xml Wed Aug 29 12:16:04 2007
@@ -0,0 +1,17 @@
+<?xml version="1.0"?><project>
+  <parent>
+    <artifactId>dependencySet-nonTransitive</artifactId>
+    <groupId>test</groupId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>child1</artifactId>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+    </dependency>
+  </dependencies>
+</project>

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/test/App.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/test/App.java?rev=570901&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/test/App.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/test/App.java Wed Aug 29 12:16:04 2007
@@ -0,0 +1,13 @@
+package test;
+
+/**
+ * Hello world!
+ *
+ */
+public class App 
+{
+    public static void main( String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/test/App.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/test/App.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/test/AppTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/test/AppTest.java?rev=570901&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/test/AppTest.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/test/AppTest.java Wed Aug 29 12:16:04 2007
@@ -0,0 +1,38 @@
+package test;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest 
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/test/AppTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/test/AppTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/pom.xml?rev=570901&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/pom.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/pom.xml Wed Aug 29 12:16:04 2007
@@ -0,0 +1,41 @@
+<?xml version="1.0"?><project>
+  <parent>
+    <artifactId>dependencySet-nonTransitive</artifactId>
+    <groupId>test</groupId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>test</groupId>
+  <artifactId>child2</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <dependencies>
+    <dependency>
+      <groupId>test</groupId>
+      <artifactId>child1</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>attach-binary-assembly</id>
+            <phase>package</phase>
+            <configuration>
+              <descriptors>
+                <descriptor>src/assemble/bin.xml</descriptor>
+              </descriptors>
+            </configuration>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/assemble/bin.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/assemble/bin.xml?rev=570901&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/assemble/bin.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/assemble/bin.xml Wed Aug 29 12:16:04 2007
@@ -0,0 +1,15 @@
+<assembly>
+  <id>bin</id>
+  <formats>
+    <format>jar</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <dependencySets>
+    <dependencySet>
+      <unpack>false</unpack>
+      <outputDirectory>lib</outputDirectory>
+      <useTransitiveDependencies>false</useTransitiveDependencies>
+      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
+    </dependencySet>
+  </dependencySets>
+</assembly>

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/assemble/bin.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/assemble/bin.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/test/App.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/test/App.java?rev=570901&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/test/App.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/test/App.java Wed Aug 29 12:16:04 2007
@@ -0,0 +1,13 @@
+package test;
+
+/**
+ * Hello world!
+ *
+ */
+public class App 
+{
+    public static void main( String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/test/App.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/test/App.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/goals.txt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/goals.txt?rev=570901&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/goals.txt (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/goals.txt Wed Aug 29 12:16:04 2007
@@ -0,0 +1 @@
+package
\ No newline at end of file

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/goals.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/goals.txt
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/pom.xml?rev=570901&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/pom.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/pom.xml Wed Aug 29 12:16:04 2007
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.maven.plugin.assembly.test</groupId>
+    <artifactId>it-project-parent</artifactId>
+    <version>1</version>
+  </parent>
+  
+  <groupId>test</groupId>
+  <artifactId>dependencySet-nonTransitive</artifactId>
+  <packaging>pom</packaging>
+  <version>1.0-SNAPSHOT</version>
+  
+  <modules>
+    <module>child1</module>
+    <module>child2</module>
+  </modules>
+</project>

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/verify.bsh?rev=570901&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/verify.bsh (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-nonTransitive/verify.bsh Wed Aug 29 12:16:04 2007
@@ -0,0 +1,48 @@
+import java.io.*;
+import java.net.*;
+import java.util.jar.*;
+
+boolean result = true;
+
+try
+{
+    System.out.println( "Creating JarFile java.io.File." );
+    
+    File jarFile = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin.jar" );
+    
+    System.out.println( "Checking for existence and file-ishness of: " + jarFile );
+    
+    if ( !jarFile.exists() || jarFile.isDirectory() )
+    {
+        System.err.println( "jar file is missing or a directory." );
+        return false;
+    }
+    
+    System.out.println( "Creating JarFile instance." );
+    
+    JarFile jf = new JarFile( jarFile );
+    
+    System.out.println( "Looking for 'lib/child1.jar' jar entry." );
+    
+    if ( jf.getEntry( "lib/child1.jar" ) == null )
+    {
+        System.err.println( "child1 entry is missing." );
+        result = false;
+    }
+    
+    System.out.println( "Looking for absence of 'lib/junit.jar' jar entry." );
+    
+    if ( jf.getEntry( "lib/junit.jar" ) != null )
+    {
+        System.err.println( "junit jar should not be present." );
+        result = false;
+    }
+    
+}
+catch( IOException e )
+{
+    e.printStackTrace();
+    result = false;
+}
+
+return result;

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhase.java?rev=570901&r1=570900&r2=570901&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhase.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhase.java Wed Aug 29 12:16:04 2007
@@ -118,8 +118,9 @@
         Set dependencyArtifacts;
         try
         {
+            // NOTE: hard-coding to resolve artifacts transitively, since this is meant to be a self-contained repository...
             dependencyArtifacts = dependencyResolver
-                .resolveDependencies( project, repository.getScope(), localRepository, additionalRemoteRepositories );
+                .resolveDependencies( project, repository.getScope(), localRepository, additionalRemoteRepositories, true );
 
             if ( ( dependencyArtifacts != null ) && !dependencyArtifacts.isEmpty() )
             {

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java?rev=570901&r1=570900&r2=570901&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java Wed Aug 29 12:16:04 2007
@@ -100,7 +100,14 @@
     {
         logger.info( "Processing DependencySet (output=" + dependencySet.getOutputDirectory() + ")" );
 
+        if ( !dependencySet.isUseTransitiveDependencies() && dependencySet.isUseTransitiveFiltering() )
+        {
+            logger.warn( "DependencySet has nonsensical configuration: useTransitiveDependencies == false "
+                         + "AND useTransitiveFiltering == true. Transitive filtering flag will be ignored." );
+        }
+
         Set dependencyArtifacts = resolveDependencyArtifacts( dependencySet, configSource );
+
         logger.debug( "Adding " + dependencyArtifacts.size() + " dependency artifacts." );
 
         for ( Iterator j = dependencyArtifacts.iterator(); j.hasNext(); )
@@ -157,8 +164,10 @@
         Set dependencyArtifacts;
         try
         {
-            dependencyArtifacts = dependencyResolver
-                .resolveDependencies( project, dependencySet.getScope(), localRepository, additionalRemoteRepositories );
+            dependencyArtifacts = dependencyResolver.resolveDependencies( project, dependencySet.getScope(),
+                                                                          localRepository,
+                                                                          additionalRemoteRepositories,
+                                                                          dependencySet.isUseTransitiveDependencies() );
 
             if ( ( dependencyArtifacts != null ) && !dependencyArtifacts.isEmpty() )
             {
@@ -206,14 +215,25 @@
                     }
                     else
                     {
-                        logger.warn( "Cannot include attached artifact: " + project.getId() + " for project: " + project.getId() + "; it doesn't have an associated file or directory." );
+                        logger.warn( "Cannot include attached artifact: " + project.getId() + " for project: "
+                                     + project.getId() + "; it doesn't have an associated file or directory." );
                     }
                 }
             }
         }
 
+        if ( dependencySet.isUseTransitiveFiltering() )
+        {
+            logger.debug( "Filtering dependency artifacts USING transitive dependency path information." );
+        }
+        else
+        {
+            logger.debug( "Filtering dependency artifacts WITHOUT transitive dependency path information." );
+        }
+
         FilterUtils.filterArtifacts( dependencyArtifacts, dependencySet.getIncludes(), dependencySet.getExcludes(),
-                                     dependencySet.isUseStrictFiltering(), dependencySet.isUseTransitiveFiltering(), Collections.EMPTY_LIST, logger );
+                                     dependencySet.isUseStrictFiltering(), dependencySet.isUseTransitiveFiltering(),
+                                     Collections.EMPTY_LIST, logger );
 
         return dependencyArtifacts;
     }
@@ -226,10 +246,13 @@
 
         String outputDirectory = dependencySet.getOutputDirectory();
 
-        outputDirectory = AssemblyFormatUtils.getOutputDirectory( outputDirectory, configSource.getProject(), depProject, depProject.getBuild()
-            .getFinalName(), artifactExpressionPrefix );
+        outputDirectory = AssemblyFormatUtils.getOutputDirectory( outputDirectory, configSource.getProject(),
+                                                                  depProject, depProject.getBuild().getFinalName(),
+                                                                  artifactExpressionPrefix );
+
         String destName = AssemblyFormatUtils.evaluateFileNameMapping( dependencySet.getOutputFileNameMapping(),
-                                                                       depArtifact, configSource.getProject(), depProject, artifactExpressionPrefix );
+                                                                       depArtifact, configSource.getProject(),
+                                                                       depProject, artifactExpressionPrefix );
 
         String target;
 

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolver.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolver.java?rev=570901&r1=570900&r2=570901&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolver.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolver.java Wed Aug 29 12:16:04 2007
@@ -88,7 +88,7 @@
      * @see org.apache.maven.plugin.assembly.artifact.DependencyResolver#resolveDependencies(org.apache.maven.project.MavenProject, java.lang.String, org.apache.maven.artifact.repository.ArtifactRepository, java.util.List)
      */
     public Set resolveDependencies( MavenProject project, String scope, ArtifactRepository localRepository,
-                                    List remoteRepositories )
+                                    List remoteRepositories, boolean resolveTransitively )
         throws InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException
     {
         List repos = aggregateRemoteArtifactRepositories( remoteRepositories, project );
@@ -105,6 +105,36 @@
 
         getLogger().debug( "Project dependencies are:\n" + StringUtils.join( dependencyArtifacts.iterator(), "\n" ) );
 
+        if ( resolveTransitively )
+        {
+            getLogger().debug( "Resolving project dependencies transitively." );
+            return resolveTransitively( dependencyArtifacts, artifact, localRepository, repos, filter, project );
+        }
+        else
+        {
+            getLogger().debug( "Resolving project dependencies ONLY. Transitive dependencies WILL NOT be included in the results." );
+            return resolveNonTransitively( dependencyArtifacts, artifact, localRepository, repos, filter );
+        }
+    }
+
+    private Set resolveNonTransitively( Set dependencyArtifacts, Artifact artifact, ArtifactRepository localRepository,
+                                        List repos, ArtifactFilter filter )
+        throws ArtifactResolutionException, ArtifactNotFoundException
+    {
+        for ( Iterator it = dependencyArtifacts.iterator(); it.hasNext(); )
+        {
+            Artifact depArtifact = (Artifact) it.next();
+
+            resolver.resolve( depArtifact, repos, localRepository );
+        }
+
+        return dependencyArtifacts;
+    }
+
+    private Set resolveTransitively( Set dependencyArtifacts, Artifact artifact, ArtifactRepository localRepository,
+                                     List repos, ArtifactFilter filter, MavenProject project )
+        throws InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException
+    {
         ArtifactResolutionResult result;
         try
         {

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DependencyResolver.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DependencyResolver.java?rev=570901&r1=570900&r2=570901&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DependencyResolver.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DependencyResolver.java Wed Aug 29 12:16:04 2007
@@ -13,7 +13,7 @@
 {
 
     public abstract Set resolveDependencies( MavenProject project, String scope, ArtifactRepository localRepository,
-                                             List remoteRepositories )
+                                             List remoteRepositories, boolean resolveTransitively )
         throws InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException;
 
 }

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/component.mdo
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/component.mdo?rev=570901&r1=570900&r2=570901&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/component.mdo (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/component.mdo Wed Aug 29 12:16:04 2007
@@ -421,6 +421,20 @@
           ]]></description>
         </field>
         <field>
+          <name>useTransitiveDependencies</name>
+          <version>1.1.0</version>
+          <type>boolean</type>
+          <defaultValue>true</defaultValue>
+          <description>
+          Determines whether transitive dependencies will be included in the processing of
+          the current dependency set. If true, includes/excludes/useTransitiveFiltering
+          will apply to transitive dependency artifacts in addition to the main project
+          dependency artifacts. If false, useTransitiveFiltering is meaningless, and 
+          includes/excludes only affect the immediate dependencies of the project.
+          By default, this value is true. (Since 2.2)
+          </description>
+        </field>
+        <field>
           <name>useTransitiveFiltering</name>
           <version>1.1.0</version>
           <type>boolean</type>

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/descriptor.mdo
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/descriptor.mdo?rev=570901&r1=570900&r2=570901&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/descriptor.mdo (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/descriptor.mdo Wed Aug 29 12:16:04 2007
@@ -554,6 +554,20 @@
           ]]></description>
         </field>
         <field>
+          <name>useTransitiveDependencies</name>
+          <version>1.1.0</version>
+          <type>boolean</type>
+          <defaultValue>true</defaultValue>
+          <description>
+          Determines whether transitive dependencies will be included in the processing of
+          the current dependency set. If true, includes/excludes/useTransitiveFiltering
+          will apply to transitive dependency artifacts in addition to the main project
+          dependency artifacts. If false, useTransitiveFiltering is meaningless, and 
+          includes/excludes only affect the immediate dependencies of the project.
+          By default, this value is true. (Since 2.2)
+          </description>
+        </field>
+        <field>
           <name>useTransitiveFiltering</name>
           <version>1.1.0</version>
           <type>boolean</type>

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java?rev=570901&r1=570900&r2=570901&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java Wed Aug 29 12:16:04 2007
@@ -277,7 +277,7 @@
         {
             try
             {
-                dependencyResolver.resolveDependencies( null, null, null, null );
+                dependencyResolver.resolveDependencies( null, null, null, null, true );
                 dependencyResolverCtl.setMatcher( MockControl.ALWAYS_MATCHER );
                 dependencyResolverCtl.setReturnValue( resolvedArtifacts );
             }

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java?rev=570901&r1=570900&r2=570901&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java Wed Aug 29 12:16:04 2007
@@ -184,7 +184,7 @@
     {
         try
         {
-            dependencyResolver.resolveDependencies( null, null, null, null );
+            dependencyResolver.resolveDependencies( null, null, null, null, true );
         }
         catch ( ArtifactResolutionException e )
         {