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
{