[MDEP-478] dependency:copy-dependencies always overwrites if <prependGroupId> is true
 Patch of Julius Davies applied.


git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1661356 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/CopyMojo.java b/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/CopyMojo.java
index cecad77..864b48c 100644
--- a/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/CopyMojo.java
+++ b/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/CopyMojo.java
@@ -138,7 +138,8 @@
     {
         ArtifactItemFilter destinationNameOverrideFilter =
             new DestFileFilter( this.isOverWriteReleases(), this.isOverWriteSnapshots(), this.isOverWriteIfNewer(),
-                                false, false, false, false, this.stripVersion, item.getOutputDirectory() );
+                                false, false, false, false, this.stripVersion, prependGroupId, useBaseVersion,
+                                item.getOutputDirectory() );
         return destinationNameOverrideFilter;
     }
 
diff --git a/src/main/java/org/apache/maven/plugin/dependency/fromDependencies/CopyDependenciesMojo.java b/src/main/java/org/apache/maven/plugin/dependency/fromDependencies/CopyDependenciesMojo.java
index 2e1dd7b..67f02ab 100644
--- a/src/main/java/org/apache/maven/plugin/dependency/fromDependencies/CopyDependenciesMojo.java
+++ b/src/main/java/org/apache/maven/plugin/dependency/fromDependencies/CopyDependenciesMojo.java
@@ -323,7 +323,7 @@
         return new DestFileFilter( this.overWriteReleases, this.overWriteSnapshots, this.overWriteIfNewer,
                                    this.useSubDirectoryPerArtifact, this.useSubDirectoryPerType,
                                    this.useSubDirectoryPerScope, this.useRepositoryLayout, this.stripVersion,
-                                   this.outputDirectory );
+                                   this.prependGroupId, this.useBaseVersion, this.outputDirectory );
     }
 
     /**
diff --git a/src/main/java/org/apache/maven/plugin/dependency/utils/filters/DestFileFilter.java b/src/main/java/org/apache/maven/plugin/dependency/utils/filters/DestFileFilter.java
index 4624269..b209af3 100644
--- a/src/main/java/org/apache/maven/plugin/dependency/utils/filters/DestFileFilter.java
+++ b/src/main/java/org/apache/maven/plugin/dependency/utils/filters/DestFileFilter.java
@@ -56,25 +56,21 @@
     
     private boolean removeClassifier;
 
+    private boolean prependGroupId;
+
+    private boolean useBaseVersion;
+
     private File outputFileDirectory;
 
     public DestFileFilter( File outputFileDirectory )
     {
-        this.outputFileDirectory = outputFileDirectory;
-        overWriteReleases = false;
-        overWriteIfNewer = false;
-        overWriteSnapshots = false;
-        useSubDirectoryPerArtifact = false;
-        useSubDirectoryPerType = false;
-        useSubDirectoryPerScope = false;
-        removeVersion = false;
-        removeClassifier = false;
+        this( false, false, false, false, false, false, false, false, false, false, outputFileDirectory );
     }
 
     public DestFileFilter( boolean overWriteReleases, boolean overWriteSnapshots, boolean overWriteIfNewer,
                            boolean useSubDirectoryPerArtifact, boolean useSubDirectoryPerType,
                            boolean useSubDirectoryPerScope, boolean useRepositoryLayout, boolean removeVersion,
-                           File outputFileDirectory )
+                           boolean prependGroupId, boolean useBaseVersion, File outputFileDirectory )
     {
         this.overWriteReleases = overWriteReleases;
         this.overWriteSnapshots = overWriteSnapshots;
@@ -84,6 +80,8 @@
         this.useSubDirectoryPerScope = useSubDirectoryPerScope;
         this.useRepositoryLayout = useRepositoryLayout;
         this.removeVersion = removeVersion;
+        this.prependGroupId = prependGroupId;
+        this.useBaseVersion = useBaseVersion;
         this.outputFileDirectory = outputFileDirectory;
     }
 
@@ -283,7 +281,10 @@
         File destFile;
         if ( StringUtils.isEmpty( item.getDestFileName() ) )
         {
-            destFile = new File( destFolder, DependencyUtil.getFormattedFileName( artifact, this.removeVersion ) );
+            String formattedFileName =
+                    DependencyUtil.getFormattedFileName( artifact, removeVersion, prependGroupId,
+                                                         useBaseVersion, removeClassifier );
+            destFile = new File( destFolder, formattedFileName );
         }
         else
         {