Author: brianf
Date: Thu Nov  4 20:17:28 2010
New Revision: 1031212

URL: http://svn.apache.org/viewvc?rev=1031212&view=rev
Log:
MDEP-215 - applied patch by Jo Odland. Adds useSubDirectoryPerArtifact

Modified:
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractFromDependenciesMojo.java
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AnalyzeDepMgt.java
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/CopyDependenciesMojo.java
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/UnpackDependenciesMojo.java
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/CopyMojo.java
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/filters/DestFileFilter.java
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestAnalyzeDepMgt.java
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo2.java
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo.java
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo2.java
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/filters/TestDestFileFilter.java

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractFromDependenciesMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractFromDependenciesMojo.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractFromDependenciesMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractFromDependenciesMojo.java
 Thu Nov  4 20:17:28 2010
@@ -72,6 +72,16 @@ public abstract class AbstractFromDepend
 
     /**
      * Place each type of file in a separate subdirectory. (example
+     * /outputDirectory/runtime /outputDirectory/provided etc)
+     *
+     * @parameter expression="${mdep.useSubDirectoryPerScope}" 
default-value="false"
+     * @optional
+     * @since 2.1-alpha-1
+     */
+    protected boolean useSubDirectoryPerScope;
+
+    /**
+     * Place each type of file in a separate subdirectory. (example
      * /outputDirectory/jars /outputDirectory/wars etc)
      *
      * @since 2.0-alpha-1
@@ -136,6 +146,23 @@ public abstract class AbstractFromDepend
     }
 
     /**
+     * @return Returns the useSubDirectoryPerScope
+     */
+    public boolean isUseSubDirectoryPerScope()
+    {
+        return this.useSubDirectoryPerScope;
+    }
+    
+    /**
+     * @param theUseSubDirectoryPerScope
+     *          The useSubDirectoryPerScope to set.
+     */
+    public void setUseSubDirectoryPerScope( boolean theUseSubDirectoryPerScope 
)
+    {
+        this.useSubDirectoryPerScope = theUseSubDirectoryPerScope;
+    }
+
+    /**
      * @return Returns the useSubDirectoryPerType.
      */
     public boolean isUseSubDirectoryPerType()

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AnalyzeDepMgt.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AnalyzeDepMgt.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AnalyzeDepMgt.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AnalyzeDepMgt.java
 Thu Nov  4 20:17:28 2010
@@ -172,6 +172,7 @@ public class AnalyzeDepMgt
                 Artifact resolvedArtifact = (Artifact) mismatchIter.next();
                 Dependency depMgtDependency = (Dependency) mismatch.get( 
resolvedArtifact );
                 logMismatch( resolvedArtifact, depMgtDependency );
+                foundError = true;
             }
             if ( !foundError )
             {

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/CopyDependenciesMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/CopyDependenciesMojo.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/CopyDependenciesMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/CopyDependenciesMojo.java
 Thu Nov  4 20:17:28 2010
@@ -190,7 +190,7 @@ public class CopyDependenciesMojo
         String destFileName = DependencyUtil.getFormattedFileName( artifact, 
removeVersion );
 
         File destDir;
-        destDir = DependencyUtil.getFormattedOutputDirectory( 
useSubDirectoryPerType, useSubDirectoryPerArtifact,
+        destDir = DependencyUtil.getFormattedOutputDirectory( 
useSubDirectoryPerScope, useSubDirectoryPerType, useSubDirectoryPerArtifact,
                                                               
useRepositoryLayout, stripVersion, outputDirectory,
                                                               artifact );
         File destFile = new File( destDir, destFileName );
@@ -241,7 +241,7 @@ public class CopyDependenciesMojo
     protected ArtifactsFilter getMarkedArtifactFilter()
     {
         return new DestFileFilter( this.overWriteReleases, 
this.overWriteSnapshots, this.overWriteIfNewer,
-                                   this.useSubDirectoryPerArtifact, 
this.useSubDirectoryPerType,
+                                   this.useSubDirectoryPerArtifact, 
this.useSubDirectoryPerType, this.useSubDirectoryPerScope,
                                    this.useRepositoryLayout, 
this.stripVersion, this.outputDirectory );
     }
 }

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/UnpackDependenciesMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/UnpackDependenciesMojo.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/UnpackDependenciesMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/UnpackDependenciesMojo.java
 Thu Nov  4 20:17:28 2010
@@ -82,7 +82,7 @@ public class UnpackDependenciesMojo
         {
             Artifact artifact = (Artifact) i.next();
             File destDir;
-            destDir = DependencyUtil.getFormattedOutputDirectory( 
useSubDirectoryPerType, useSubDirectoryPerArtifact,
+            destDir = DependencyUtil.getFormattedOutputDirectory( 
useSubDirectoryPerScope, useSubDirectoryPerType, useSubDirectoryPerArtifact,
                                                                   
useRepositoryLayout, stripVersion, outputDirectory,
                                                                   artifact );
             unpack( artifact.getFile(), destDir, getIncludes(), getExcludes() 
);

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/CopyMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/CopyMojo.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/CopyMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/CopyMojo.java
 Thu Nov  4 20:17:28 2010
@@ -97,9 +97,9 @@ public class CopyMojo
 
     protected ArtifactItemFilter getMarkedArtifactFilter( ArtifactItem item )
     {
-        ArtifactItemFilter destinationNameOverrideFilter =
-            new DestFileFilter( this.isOverWriteReleases(), 
this.isOverWriteSnapshots(), this.isOverWriteIfNewer(),
-                                false, false, false, this.stripVersion, 
item.getOutputDirectory() );
+        ArtifactItemFilter destinationNameOverrideFilter = new DestFileFilter( 
this.isOverWriteReleases(), this
+            .isOverWriteSnapshots(), this.isOverWriteIfNewer(), false, false, 
false, false, this.stripVersion, item
+            .getOutputDirectory() );
         return destinationNameOverrideFilter;
     }
 

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java
 Thu Nov  4 20:17:28 2010
@@ -86,9 +86,9 @@ public final class DependencyUtil
      * @param artifact information about the artifact.
      * @return a formatted File object to use for output.
      */
-    public static File getFormattedOutputDirectory( boolean useSubdirsPerType, 
boolean useSubdirPerArtifact,
-                                                    boolean 
useRepositoryLayout, boolean removeVersion,
-                                                    File outputDirectory, 
Artifact artifact )
+    public static File getFormattedOutputDirectory( boolean 
useSubdirsPerScope, boolean useSubdirsPerType,
+                                                    boolean 
useSubdirPerArtifact, boolean useRepositoryLayout,
+                                                    boolean removeVersion, 
File outputDirectory, Artifact artifact )
     {
         StringBuffer sb = new StringBuffer( 128 );
         if ( useRepositoryLayout )
@@ -102,6 +102,10 @@ public final class DependencyUtil
         }
         else
         {
+            if ( useSubdirsPerScope )
+            {
+                sb.append( artifact.getScope() ).append( File.separatorChar );
+            }
             if ( useSubdirsPerType )
             {
                 sb.append( artifact.getType() ).append( "s" ).append( 
File.separatorChar );

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/filters/DestFileFilter.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/filters/DestFileFilter.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/filters/DestFileFilter.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/filters/DestFileFilter.java
 Thu Nov  4 20:17:28 2010
@@ -54,6 +54,8 @@ public class DestFileFilter
 
     boolean useSubDirectoryPerType;
 
+    boolean useSubDirectoryPerScope;
+
     boolean useRepositoryLayout;
 
     boolean removeVersion;
@@ -68,11 +70,12 @@ public class DestFileFilter
         overWriteSnapshots = false;
         useSubDirectoryPerArtifact = false;
         useSubDirectoryPerType = false;
+        useSubDirectoryPerScope = false;
         removeVersion = false;
     }
 
     public DestFileFilter( boolean overWriteReleases, boolean 
overWriteSnapshots, boolean overWriteIfNewer,
-                          boolean useSubDirectoryPerArtifact, boolean 
useSubDirectoryPerType,
+                          boolean useSubDirectoryPerArtifact, boolean 
useSubDirectoryPerType, boolean useSubDirectoryPerScope,
                           boolean useRepositoryLayout, boolean removeVersion, 
File outputFileDirectory )
     {
         this.overWriteReleases = overWriteReleases;
@@ -80,6 +83,7 @@ public class DestFileFilter
         this.overWriteIfNewer = overWriteIfNewer;
         this.useSubDirectoryPerArtifact = useSubDirectoryPerArtifact;
         this.useSubDirectoryPerType = useSubDirectoryPerType;
+        this.useSubDirectoryPerScope = useSubDirectoryPerScope;
         this.useRepositoryLayout = useRepositoryLayout;
         this.removeVersion = removeVersion;
         this.outputFileDirectory = outputFileDirectory;
@@ -262,7 +266,7 @@ public class DestFileFilter
         File destFolder = item.getOutputDirectory();
         if ( destFolder == null )
         {
-            destFolder = DependencyUtil.getFormattedOutputDirectory( 
useSubDirectoryPerType,
+            destFolder = DependencyUtil.getFormattedOutputDirectory( 
useSubDirectoryPerScope, useSubDirectoryPerType,
                                                                      
useSubDirectoryPerArtifact, useRepositoryLayout,
                                                                      
removeVersion, this.outputFileDirectory, artifact );
         }

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestAnalyzeDepMgt.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestAnalyzeDepMgt.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestAnalyzeDepMgt.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestAnalyzeDepMgt.java
 Thu Nov  4 20:17:28 2010
@@ -52,6 +52,7 @@ public class TestAnalyzeDepMgt
     Artifact exclusionArtifact;
 
     DependencyManagement depMgt;
+    DependencyManagement depMgtNoExclusions;
     protected void setUp()
         throws Exception
     {

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java
 Thu Nov  4 20:17:28 2010
@@ -390,7 +390,7 @@ public class TestCopyDependenciesMojo
         {
             Artifact artifact = (Artifact) iter.next();
             String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );
-            File folder = DependencyUtil.getFormattedOutputDirectory( true, 
false, false, false, mojo.outputDirectory,
+            File folder = DependencyUtil.getFormattedOutputDirectory( false, 
true, false, false, false, mojo.outputDirectory,
                                                                       artifact 
);
             File file = new File( folder, fileName );
             assertTrue( file.exists() );

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo2.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo2.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo2.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo2.java
 Thu Nov  4 20:17:28 2010
@@ -195,7 +195,7 @@ public class TestCopyDependenciesMojo2
         {
             Artifact artifact = (Artifact) iter.next();
             String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );
-            File folder = DependencyUtil.getFormattedOutputDirectory( false, 
true, false, false, mojo.outputDirectory,
+            File folder = DependencyUtil.getFormattedOutputDirectory( false, 
false, true, false, false, mojo.outputDirectory,
                                                                       artifact 
);
             File file = new File( folder, fileName );
             assertTrue( file.exists() );
@@ -216,7 +216,28 @@ public class TestCopyDependenciesMojo2
         {
             Artifact artifact = (Artifact) iter.next();
             String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );
-            File folder = DependencyUtil.getFormattedOutputDirectory( true, 
true, false, false, mojo.outputDirectory,
+            File folder = DependencyUtil.getFormattedOutputDirectory( false, 
true, true, false, false, mojo.outputDirectory,
+                                                                      artifact 
);
+            File file = new File( folder, fileName );
+            assertTrue( file.exists() );
+        }
+    }
+
+    public void testSubPerArtifactAndScope()
+        throws Exception
+    {
+        mojo.project.setArtifacts( stubFactory.getTypedArtifacts() );
+        mojo.project.setDependencyArtifacts( new HashSet() );
+        mojo.useSubDirectoryPerArtifact = true;
+        mojo.useSubDirectoryPerScope = true;
+        mojo.execute();
+
+        Iterator iter = mojo.project.getArtifacts().iterator();
+        while ( iter.hasNext() )
+        {
+            Artifact artifact = (Artifact) iter.next();
+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );
+            File folder = DependencyUtil.getFormattedOutputDirectory( true, 
false, true, false, false, mojo.outputDirectory,
                                                                       artifact 
);
             File file = new File( folder, fileName );
             assertTrue( file.exists() );
@@ -326,7 +347,7 @@ public class TestCopyDependenciesMojo2
         {
             Artifact artifact = (Artifact) iter.next();
             String fileName = DependencyUtil.getFormattedFileName( artifact, 
true );
-            File folder = DependencyUtil.getFormattedOutputDirectory( false, 
true, false, true, mojo.outputDirectory,
+            File folder = DependencyUtil.getFormattedOutputDirectory( false, 
false, true, false, true, mojo.outputDirectory,
                                                                       artifact 
);
             File file = new File( folder, fileName );
             assertTrue( file.exists() );
@@ -348,7 +369,7 @@ public class TestCopyDependenciesMojo2
         {
             Artifact artifact = (Artifact) iter.next();
             String fileName = DependencyUtil.getFormattedFileName( artifact, 
true );
-            File folder = DependencyUtil.getFormattedOutputDirectory( true, 
true, false, true, mojo.outputDirectory,
+            File folder = DependencyUtil.getFormattedOutputDirectory( false, 
true, true, false, true, mojo.outputDirectory,
                                                                       artifact 
);
             File file = new File( folder, fileName );
             assertTrue( file.exists() );

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo.java
 Thu Nov  4 20:17:28 2010
@@ -93,7 +93,8 @@ public class TestUnpackDependenciesMojo
 
     public void assertUnpacked( boolean val, Artifact artifact )
     {
-        File folder = DependencyUtil.getFormattedOutputDirectory( 
mojo.useSubDirectoryPerType,
+        File folder = DependencyUtil.getFormattedOutputDirectory( 
mojo.useSubDirectoryPerScope,
+                                                                  
mojo.useSubDirectoryPerType,
                                                                   
mojo.useSubDirectoryPerArtifact,
                                                                   
mojo.useRepositoryLayout, mojo.stripVersion,
                                                                   
mojo.outputDirectory, artifact );
@@ -629,7 +630,7 @@ public class TestUnpackDependenciesMojo
 
     public File getUnpackedFile( Artifact artifact )
     {
-        File destDir = DependencyUtil.getFormattedOutputDirectory( 
mojo.isUseSubDirectoryPerType(), mojo
+        File destDir = DependencyUtil.getFormattedOutputDirectory( 
mojo.isUseSubDirectoryPerScope(), mojo.isUseSubDirectoryPerType(), mojo
             .isUseSubDirectoryPerArtifact(), mojo.useRepositoryLayout, 
mojo.stripVersion, mojo.getOutputDirectory(),
                                                                    artifact );
         File unpacked = new File( destDir, 
DependencyArtifactStubFactory.getUnpackableFileName( artifact ) );

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo2.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo2.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo2.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo2.java
 Thu Nov  4 20:17:28 2010
@@ -81,7 +81,7 @@ public class TestUnpackDependenciesMojo2
 
     public File getUnpackedFile( Artifact artifact )
     {
-        File destDir = DependencyUtil.getFormattedOutputDirectory( 
mojo.isUseSubDirectoryPerType(), mojo
+        File destDir = DependencyUtil.getFormattedOutputDirectory( 
mojo.isUseSubDirectoryPerScope(), mojo.isUseSubDirectoryPerType(), mojo
             .isUseSubDirectoryPerArtifact(), mojo.useRepositoryLayout, 
mojo.stripVersion, mojo.getOutputDirectory(),
                                                                    artifact );
         File unpacked = new File( destDir, 
DependencyArtifactStubFactory.getUnpackableFileName( artifact ) );

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java
 Thu Nov  4 20:17:28 2010
@@ -93,36 +93,46 @@ public class TestDependencyUtil
     {
         File folder = new File( "target/a" );
         final Artifact artifact = (Artifact) artifacts.get( 0 );
-        File name = DependencyUtil.getFormattedOutputDirectory( false, false, 
false, false, folder, artifact );
+        File name = DependencyUtil.getFormattedOutputDirectory( false, false, 
false, false, false, folder, artifact );
         // object is the same.
         assertEquals( folder, name );
 
-        name = DependencyUtil.getFormattedOutputDirectory( false, false, true, 
false, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( false, false, 
false, true, false, folder, artifact );
         String expectedResult = folder.getAbsolutePath() + File.separatorChar 
+ "test" + File.separatorChar + "one"
             + File.separatorChar + "1.1";
         assertTrue( expectedResult.equalsIgnoreCase( name.getAbsolutePath() ) 
);
 
-        name = DependencyUtil.getFormattedOutputDirectory( true, false, false, 
false, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( false,  true, 
false, false, false, folder, artifact );
         expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"jars";
         assertTrue( expectedResult.equalsIgnoreCase( name.getAbsolutePath() ) 
);
 
-        name = DependencyUtil.getFormattedOutputDirectory( false, true, false, 
false, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( true,  false, 
false, false, false, folder, artifact );
+        expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"compile";
+        assertEquals( expectedResult,  name.getAbsolutePath() );
+        assertTrue( expectedResult.equalsIgnoreCase( name.getAbsolutePath() ) 
);
+
+        name = DependencyUtil.getFormattedOutputDirectory( false, false, true, 
false, false, folder, artifact );
         expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"one-sources-1.1-jar";
         assertEquals( expectedResult, name.getAbsolutePath() );
 
-        name = DependencyUtil.getFormattedOutputDirectory( false, true, false, 
true, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( false, false, true, 
false, true, folder, artifact );
         expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"one-sources-jar";
         assertEquals( expectedResult, name.getAbsolutePath() );
 
-        name = DependencyUtil.getFormattedOutputDirectory( true, true, false, 
false, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( false, true, true, 
false, false, folder, artifact );
         expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"jars" + File.separatorChar
             + "one-sources-1.1-jar";
         assertEquals( expectedResult, name.getAbsolutePath() );
 
-        name = DependencyUtil.getFormattedOutputDirectory( true, true, false, 
true, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( false, true, true, 
false, true, folder, artifact );
         expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"jars" + File.separatorChar
             + "one-sources-jar";
         assertEquals( expectedResult, name.getAbsolutePath() );
+
+        name = DependencyUtil.getFormattedOutputDirectory( true, false, true, 
false, true, folder, artifact );
+        expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"compile" + File.separatorChar
+            + "one-sources-jar";
+        assertEquals( expectedResult, name.getAbsolutePath() );
     }
 
     public void testDirectoryName2()
@@ -130,33 +140,33 @@ public class TestDependencyUtil
     {
         File folder = new File( "target/a" );
         final Artifact artifact = (Artifact) artifacts.get( 1 );
-        File name = DependencyUtil.getFormattedOutputDirectory( false, false, 
false, false, folder, artifact );
+        File name = DependencyUtil.getFormattedOutputDirectory( false, false, 
false, false, false, folder, artifact );
         // object is the same.
         assertEquals( folder, name );
 
-        name = DependencyUtil.getFormattedOutputDirectory( true, false, false, 
false, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( false, true, false, 
false, false, folder, artifact );
         String expectedResult = folder.getAbsolutePath() + File.separatorChar 
+ "wars";
         assertEquals( expectedResult, name.getAbsolutePath() );
 
-        name = DependencyUtil.getFormattedOutputDirectory( false, false, true, 
false, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( false, false, 
false, true, false, folder, artifact );
         expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"test" + File.separatorChar + "two"
             + File.separatorChar + "1.1-SNAPSHOT";
         assertEquals( expectedResult, name.getAbsolutePath() );
 
-        name = DependencyUtil.getFormattedOutputDirectory( false, true, false, 
false, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( false, false, true, 
false, false, folder, artifact );
         expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"two-1.1-SNAPSHOT-war";
         assertEquals( expectedResult, name.getAbsolutePath() );
 
-        name = DependencyUtil.getFormattedOutputDirectory( true, true, false, 
false, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( false, true, true, 
false, false, folder, artifact );
         expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"wars" + File.separatorChar
             + "two-1.1-SNAPSHOT-war";
         assertEquals( expectedResult, name.getAbsolutePath() );
 
-        name = DependencyUtil.getFormattedOutputDirectory( false, true, false, 
true, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( false, false, true, 
false, true, folder, artifact );
         expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"two-war";
         assertEquals( expectedResult, name.getAbsolutePath() );
 
-        name = DependencyUtil.getFormattedOutputDirectory( true, true, false, 
true, folder, artifact );
+        name = DependencyUtil.getFormattedOutputDirectory( false, true, true, 
false, true, folder, artifact );
         expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"wars" + File.separatorChar + "two-war";
         assertEquals( expectedResult, name.getAbsolutePath() );
     }
@@ -165,11 +175,11 @@ public class TestDependencyUtil
         throws MojoExecutionException
     {
         File folder = new File( "target/a" );
-        File name = DependencyUtil.getFormattedOutputDirectory( false, true, 
false, true, folder, sources );
+        File name = DependencyUtil.getFormattedOutputDirectory( false, false, 
true, false, true, folder, sources );
         String expectedResult = folder.getAbsolutePath() + File.separatorChar 
+ "two-sources";
         assertEquals( expectedResult, name.getAbsolutePath() );
 
-        name = DependencyUtil.getFormattedOutputDirectory( false, true, false, 
false, folder, sources );
+        name = DependencyUtil.getFormattedOutputDirectory( false, false, true, 
false, false, folder, sources );
         expectedResult = folder.getAbsolutePath() + File.separatorChar + 
"two-sources-1.1-SNAPSHOT-sources";
         assertEquals( expectedResult, name.getAbsolutePath() );
     }

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/filters/TestDestFileFilter.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/filters/TestDestFileFilter.java?rev=1031212&r1=1031211&r2=1031212&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/filters/TestDestFileFilter.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/filters/TestDestFileFilter.java
 Thu Nov  4 20:17:28 2010
@@ -82,7 +82,7 @@ public class TestDestFileFilter
                            boolean removeVersion )
         throws IOException
     {
-        File destFolder = DependencyUtil.getFormattedOutputDirectory( 
useSubDirectoryPerType,
+        File destFolder = DependencyUtil.getFormattedOutputDirectory(false, 
useSubDirectoryPerType,
                                                                       
useSubDirectoryPerArtifact, false, false,
                                                                       
outputFolder, artifact );
         File destFile = new File( destFolder, 
DependencyUtil.getFormattedFileName( artifact, removeVersion ) );


Reply via email to