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 2006/05/01 22:40:10 UTC

svn commit: r398682 - in /maven/plugins/trunk/maven-assembly-plugin: ./ src/test/java/org/apache/maven/plugin/assembly/ src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/ src/test/resources/ src/test/resources/basicAbstractAssemblyMojoFeatu...

Author: jdcasey
Date: Mon May  1 13:40:08 2006
New Revision: 398682

URL: http://svn.apache.org/viewcvs?rev=398682&view=rev
Log:
[MASSEMBLY-89] Adding unit tests. Cannot reproduce error (yet).

Added:
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/BasicAbstractAssemblyMojoFeaturesTest.java   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/
    maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-pluginConfig.xml   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-pluginConfig.xml   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/test/resources/
    maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/
    maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-assemblyDescriptor.xml   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-assemblyDescriptor.xml   (with props)
Modified:
    maven/plugins/trunk/maven-assembly-plugin/pom.xml

Modified: maven/plugins/trunk/maven-assembly-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/pom.xml?rev=398682&r1=398681&r2=398682&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/pom.xml Mon May  1 13:40:08 2006
@@ -10,6 +10,11 @@
   <name>Maven Assembly Plugin</name>
   <version>2.1-SNAPSHOT</version>
   <build>
+    <testResources>
+      <testResource>
+        <directory>src/test/plugin-configs</directory>
+      </testResource>
+    </testResources>
     <plugins>
       <plugin>
         <groupId>org.codehaus.modello</groupId>

Added: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/BasicAbstractAssemblyMojoFeaturesTest.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/BasicAbstractAssemblyMojoFeaturesTest.java?rev=398682&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/BasicAbstractAssemblyMojoFeaturesTest.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/BasicAbstractAssemblyMojoFeaturesTest.java Mon May  1 13:40:08 2006
@@ -0,0 +1,249 @@
+package org.apache.maven.plugin.assembly;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.model.Model;
+import org.apache.maven.plugin.assembly.stubs.ArchiverManagerStub;
+import org.apache.maven.plugin.assembly.stubs.ArchiverStub;
+import org.apache.maven.plugin.assembly.stubs.ArtifactStub;
+import org.apache.maven.plugin.assembly.stubs.ReactorMavenProjectStub;
+import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+import org.codehaus.plexus.archiver.Archiver;
+import org.codehaus.plexus.archiver.ArchiverException;
+import org.codehaus.plexus.archiver.manager.ArchiverManager;
+import org.codehaus.plexus.archiver.manager.NoSuchArchiverException;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+/**
+ * Test common features of all assembly mojos.
+ * 
+ * @todo Switch to use test-only mojos, once we can generate descriptors for those...
+ */
+public class BasicAbstractAssemblyMojoFeaturesTest
+    extends AbstractMojoTestCase
+{
+    
+    public void testOutputFileNameMapping() throws Exception
+    {
+        String pluginConfig = "outputFileNameMapping-pluginConfig.xml";
+        
+        List requiredDependencies = new ArrayList();
+        
+        requiredDependencies.add( "dependencies/test.jar" );
+        requiredDependencies.add( "dependencies/test2.jar" );
+        
+        testDependencyMapping( pluginConfig, requiredDependencies );
+    }
+
+    public void testOutputFileNameMappingWithTwoDependencySets() throws Exception
+    {
+        String pluginConfig = "outputFileNameMappingWithTwoDependencySets-pluginConfig.xml";
+        
+        List requiredDependencies = new ArrayList();
+        
+        requiredDependencies.add( "dependencies/test.jar" );
+        requiredDependencies.add( "dependencies/test2.jar" );
+        requiredDependencies.add( "dependencies/test3-3.jar" );
+        requiredDependencies.add( "dependencies/test4-4.jar" );
+        
+        testDependencyMapping( pluginConfig, requiredDependencies );
+    }
+
+    private void testDependencyMapping( String pluginConfig, List requiredDependencies ) throws Exception
+    {
+        ClassLoader cloader = Thread.currentThread().getContextClassLoader();
+        
+        String pluginConfigResource = "basicAbstractAssemblyMojoFeaturesTest/" + pluginConfig;
+        
+        URL resource = cloader.getResource( pluginConfigResource );
+        
+        assertNotNull( "Cannot find plugin-configuration: \'" + pluginConfigResource + "\' in context-classloader\'s classpath.", resource );
+        
+        // TODO: Need to replace this with test-only mojos...
+        DirectoryMojo mojo = (DirectoryMojo) lookupMojo( "directory", resource.getPath() );
+
+        FileLoggingArchiverManagerStub archiverManager = (FileLoggingArchiverManagerStub) getVariableValueFromObject( mojo, "archiverManager" );
+        archiverManager.clearArchiver();
+        
+        mojo.execute();
+
+        FileLoggingArchiverStub archiver = (FileLoggingArchiverStub) archiverManager.getArchiver( null );
+        
+        Set addedFiles = archiver.getAddedFiles();
+        
+        System.out.println( "The following files were added to the test assembly:\n" + addedFiles.toString().replace(',', '\n' ) );
+        
+        for ( Iterator it = requiredDependencies.iterator(); it.hasNext(); )
+        {
+            String targetPath = (String) it.next();
+            
+            assertTrue( "Required dependency path missing: \'" + targetPath + "\'", addedFiles.contains( targetPath ) );
+        }
+    }
+
+    public static final class FileLoggingArchiverManagerStub
+        extends ArchiverManagerStub
+    {
+        private FileLoggingArchiverStub archiverStub;
+
+        public Archiver getArchiver( String string ) throws NoSuchArchiverException
+        {
+            if ( archiverStub == null )
+            {
+                archiverStub = new FileLoggingArchiverStub();
+            }
+
+            return archiverStub;
+        }
+        
+        void clearArchiver()
+        {
+            archiverStub = null;
+        }
+    }
+
+    public static final class FileLoggingArchiverStub
+        extends ArchiverStub
+    {
+
+        private Set files = new LinkedHashSet();
+
+        public void addFile( File file, String targetPath, int mode ) throws ArchiverException
+        {
+            files.add( targetPath );
+        }
+
+        public void addFile( File file, String targetPath ) throws ArchiverException
+        {
+            files.add( targetPath );
+        }
+
+        public Set getAddedFiles()
+        {
+            return files;
+        }
+
+    }
+
+    public static final class TwoDependencyReactorProjectStub
+        extends MavenProjectStub
+    {
+        private String groupId = "org.test.project";
+        private String artifactId = "test-project";
+        private String version = "1";
+        private String packaging = "jar";
+        private String scope = "compile";
+        
+        private String depOneArtifactId;
+        private String depOneGroupId;
+        private String depOneVersion;
+        private String depOneType = "jar";
+        private String depOneScope = "compile";
+        
+        private String depTwoArtifactId;
+        private String depTwoGroupId;
+        private String depTwoVersion;
+        private String depTwoType = "jar";
+        private String depTwoScope = "compile";
+        
+        public Set getArtifacts()
+        {
+            Set artifacts = new LinkedHashSet();
+            
+            artifacts.add( new HandlerEquippedArtifactStub( depOneGroupId, depOneArtifactId, depOneVersion, depOneType, depOneScope ) );
+            artifacts.add( new HandlerEquippedArtifactStub( depTwoGroupId, depTwoArtifactId, depTwoVersion, depTwoType, depTwoScope ) );
+            
+            return artifacts;
+        }
+        
+        public Artifact getArtifact()
+        {
+            return new HandlerEquippedArtifactStub( groupId, artifactId, version, packaging, scope );
+        }
+        
+        public TwoDependencyReactorProjectStub()
+        {
+            Model model = getModel();
+            if(  model == null )
+            {
+              model = new Model();
+              setModel( model );
+            }
+            
+            Properties props = model.getProperties();
+            if ( props == null )
+            {
+                props = new Properties();
+                model.setProperties( props );
+            }
+        }
+    }
+    
+    public static final class HandlerEquippedArtifactStub extends ArtifactStub
+    {
+
+        private final String type;
+
+        public HandlerEquippedArtifactStub( String groupId, String artifactId, String version, String type, String scope )
+        {
+            super( groupId, artifactId, version, type, scope );
+            this.type = type;
+        }
+
+        public ArtifactHandler getArtifactHandler()
+        {
+            ArtifactHandler handler = new ArtifactHandler()
+            {
+
+                public String getClassifier()
+                {
+                    return null;
+                }
+
+                public String getDirectory()
+                {
+                    return null;
+                }
+
+                public String getExtension()
+                {
+                    return type;
+                }
+
+                public String getLanguage()
+                {
+                    return null;
+                }
+
+                public String getPackaging()
+                {
+                    return type;
+                }
+
+                public boolean isAddedToClasspath()
+                {
+                    return true;
+                }
+
+                public boolean isIncludesDependencies()
+                {
+                    return true;
+                }
+                
+            };
+            
+            return handler;
+        }
+    }
+}
\ No newline at end of file

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/BasicAbstractAssemblyMojoFeaturesTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/BasicAbstractAssemblyMojoFeaturesTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-pluginConfig.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-pluginConfig.xml?rev=398682&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-pluginConfig.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-pluginConfig.xml Mon May  1 13:40:08 2006
@@ -0,0 +1,55 @@
+<!--
+  ~ Copyright 2001-2006 The Apache Software Foundation.
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<project>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <configuration>
+          <basedir>${basedir}</basedir>
+          <project implementation="org.apache.maven.plugin.assembly.BasicAbstractAssemblyMojoFeaturesTest$TwoDependencyReactorProjectStub">
+            <depOneArtifactId>test</depOneArtifactId>
+            <depOneGroupId>org.test</depOneGroupId>
+            <depOneVersion>1</depOneVersion>
+            <depTwoArtifactId>test2</depTwoArtifactId>
+            <depTwoGroupId>org.test.2</depTwoGroupId>
+            <depTwoVersion>2</depTwoVersion>
+          </project>
+          <descriptors>
+            <descriptor>${basedir}/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-assemblyDescriptor.xml</descriptor>
+          </descriptors>
+          <outputDirectory>${project.build.directory}/test-harness/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping/target</outputDirectory>
+          <finalName>basicAbstractAssemblyMojoFeaturesTest-ouputFileNameMapping</finalName>
+          <projectModulesOnly>false</projectModulesOnly>
+          <workDirectory>${project.build.directory}/test-harness/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping/work</workDirectory>
+          <archiverManager implementation="org.apache.maven.plugin.assembly.BasicAbstractAssemblyMojoFeaturesTest$FileLoggingArchiverManagerStub" />
+          <localRepository>${localRepository}</localRepository>
+          <reactorProjects>
+            <reactorProject implementation="org.apache.maven.plugin.assembly.BasicAbstractAssemblyMojoFeaturesTest$TwoDependencyReactorProjectStub">
+              <depOneArtifactId>test</depOneArtifactId>
+              <depOneGroupId>org.test</depOneGroupId>
+              <depOneVersion>1</depOneVersion>
+              <depTwoArtifactId>test2</depTwoArtifactId>
+              <depTwoGroupId>org.test.2</depTwoGroupId>
+              <depTwoVersion>2</depTwoVersion>
+            </reactorProject>
+          </reactorProjects>
+          <classifier></classifier>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-pluginConfig.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-pluginConfig.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-pluginConfig.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-pluginConfig.xml?rev=398682&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-pluginConfig.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-pluginConfig.xml Mon May  1 13:40:08 2006
@@ -0,0 +1,69 @@
+<!--
+  ~ Copyright 2001-2006 The Apache Software Foundation.
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<project>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <configuration>
+          <basedir>${basedir}</basedir>
+          <project implementation="org.apache.maven.plugin.assembly.BasicAbstractAssemblyMojoFeaturesTest$TwoDependencyReactorProjectStub">
+            <groupId>first</groupId>
+            <artifactId>first</artifactId>
+            <depOneArtifactId>test</depOneArtifactId>
+            <depOneGroupId>org.test</depOneGroupId>
+            <depOneVersion>1</depOneVersion>
+            <depTwoArtifactId>test2</depTwoArtifactId>
+            <depTwoGroupId>org.test.2</depTwoGroupId>
+            <depTwoVersion>2</depTwoVersion>
+          </project>
+          <descriptors>
+            <descriptor>${basedir}/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-assemblyDescriptor.xml</descriptor>
+          </descriptors>
+          <outputDirectory>${project.build.directory}/test-harness/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping/target</outputDirectory>
+          <finalName>basicAbstractAssemblyMojoFeaturesTest-ouputFileNameMapping</finalName>
+          <projectModulesOnly>false</projectModulesOnly>
+          <workDirectory>${project.build.directory}/test-harness/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping/work</workDirectory>
+          <archiverManager implementation="org.apache.maven.plugin.assembly.BasicAbstractAssemblyMojoFeaturesTest$FileLoggingArchiverManagerStub" />
+          <localRepository>${localRepository}</localRepository>
+          <reactorProjects>
+            <reactorProject implementation="org.apache.maven.plugin.assembly.BasicAbstractAssemblyMojoFeaturesTest$TwoDependencyReactorProjectStub">
+              <groupId>first</groupId>
+              <artifactId>first</artifactId>
+              <depOneArtifactId>test</depOneArtifactId>
+              <depOneGroupId>org.test</depOneGroupId>
+              <depOneVersion>1</depOneVersion>
+              <depTwoArtifactId>test2</depTwoArtifactId>
+              <depTwoGroupId>org.test.2</depTwoGroupId>
+              <depTwoVersion>2</depTwoVersion>
+            </reactorProject>
+            <reactorProject implementation="org.apache.maven.plugin.assembly.BasicAbstractAssemblyMojoFeaturesTest$TwoDependencyReactorProjectStub">
+              <groupId>second</groupId>
+              <artifactId>second</artifactId>
+              <depOneArtifactId>test3</depOneArtifactId>
+              <depOneGroupId>org.test.3</depOneGroupId>
+              <depOneVersion>3</depOneVersion>
+              <depTwoArtifactId>test4</depTwoArtifactId>
+              <depTwoGroupId>org.test.4</depTwoGroupId>
+              <depTwoVersion>4</depTwoVersion>
+            </reactorProject>
+          </reactorProjects>
+          <classifier></classifier>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-pluginConfig.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-pluginConfig.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-assemblyDescriptor.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-assemblyDescriptor.xml?rev=398682&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-assemblyDescriptor.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-assemblyDescriptor.xml Mon May  1 13:40:08 2006
@@ -0,0 +1,13 @@
+<assembly>
+  <id>outputFileNameMapping</id>
+  <formats>
+    <format>dir</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>/dependencies/</outputDirectory>
+      <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
+    </dependencySet>
+  </dependencySets>
+</assembly>
\ No newline at end of file

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-assemblyDescriptor.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-assemblyDescriptor.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-assemblyDescriptor.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-assemblyDescriptor.xml?rev=398682&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-assemblyDescriptor.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-assemblyDescriptor.xml Mon May  1 13:40:08 2006
@@ -0,0 +1,27 @@
+<assembly>
+  <id>outputFileNameMapping</id>
+  <formats>
+    <format>dir</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <dependencySets>
+    <dependencySet>
+      <excludes>
+        <exclude>second:second</exclude>
+        <exclude>org.test.3:test3</exclude>
+        <exclude>org.test.4:test4</exclude>
+      </excludes>
+      <outputDirectory>/dependencies/</outputDirectory>
+      <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
+    </dependencySet>
+    <dependencySet>
+      <excludes>
+        <exclude>first:first</exclude>
+        <exclude>org.test:test</exclude>
+        <exclude>org.test.2:test2</exclude>
+      </excludes>
+      <outputDirectory>/dependencies/</outputDirectory>
+      <outputFileNameMapping>${artifactId}-${version}.${extension}</outputFileNameMapping>
+    </dependencySet>
+  </dependencySets>
+</assembly>
\ No newline at end of file

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-assemblyDescriptor.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMappingWithTwoDependencySets-assemblyDescriptor.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"