Author: dennisl
Date: Wed Oct 24 14:01:38 2012
New Revision: 1401695

URL: http://svn.apache.org/viewvc?rev=1401695&view=rev
Log:
[MASSEMBLY-591] Empty classifier in dependency causes extra dash
Submitted by: Antonio Petrelli
Reviewed by: Dennis Lundberg

Modified:
    
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtils.java
    
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/ProjectUtils.java
    
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtils.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtils.java?rev=1401695&r1=1401694&r2=1401695&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtils.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtils.java
 Wed Oct 24 14:01:38 2012
@@ -391,7 +391,7 @@ public final class AssemblyFormatUtils
 
         final Properties specialRules = new Properties();
 
-        final String classifier = artifact.getClassifier();
+        final String classifier = ProjectUtils.getClassifier( artifact );
         if ( classifier != null )
         {
             specialRules.setProperty( "dashClassifier?", "-" + classifier );

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/ProjectUtils.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/ProjectUtils.java?rev=1401695&r1=1401694&r2=1401695&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/ProjectUtils.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/ProjectUtils.java
 Wed Oct 24 14:01:38 2012
@@ -19,6 +19,7 @@ package org.apache.maven.plugin.assembly
  * under the License.
  */
 
+import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.logging.Logger;
 
@@ -40,6 +41,16 @@ public final class ProjectUtils
     {
     }
 
+    public static String getClassifier( Artifact artifact )
+    {
+        String classifier = artifact.getClassifier();
+        if ( classifier != null && classifier.length() == 0 )
+        {
+            classifier = null;
+        }
+        return classifier;
+    }
+
     public static Set<MavenProject> getProjectModules( final MavenProject 
project,
                                                        final 
List<MavenProject> reactorProjects,
                                                        final boolean 
includeSubModules, final Logger logger )

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java?rev=1401695&r1=1401694&r2=1401695&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java
 Wed Oct 24 14:01:38 2012
@@ -458,6 +458,12 @@ public class AssemblyFormatUtilsTest
         verifyEvalFileNameMapping( "filename${dashClassifier?}", null, null, 
"filename", null );
     }
 
+    public void 
testEvalFileNameMapping_ShouldNotAppendDashClassifierWhenClassifierEmpty()
+        throws AssemblyFormattingException
+    {
+        verifyEvalFileNameMapping( "filename${dashClassifier?}", "", null, 
"filename", null );
+    }
+
     public void testEvalFileNameMapping_ShouldResolveGroupId()
         throws AssemblyFormattingException
     {


Reply via email to