Author: vmassol
Date: Mon Oct  9 12:40:43 2006
New Revision: 454472

URL: http://svn.apache.org/viewvc?view=rev&rev=454472
Log:
MSOURCES-10: Attached source artifact should not be added for artifacts with 
classifier

Modified:
    
maven/plugins/trunk/maven-source-plugin/src/main/java/org/apache/maven/plugin/source/JarDefaultSourceMojo.java

Modified: 
maven/plugins/trunk/maven-source-plugin/src/main/java/org/apache/maven/plugin/source/JarDefaultSourceMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-source-plugin/src/main/java/org/apache/maven/plugin/source/JarDefaultSourceMojo.java?view=diff&rev=454472&r1=454471&r2=454472
==============================================================================
--- 
maven/plugins/trunk/maven-source-plugin/src/main/java/org/apache/maven/plugin/source/JarDefaultSourceMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-source-plugin/src/main/java/org/apache/maven/plugin/source/JarDefaultSourceMojo.java
 Mon Oct  9 12:40:43 2006
@@ -47,23 +47,34 @@
         }
         else
         {
-            File outputFile = new File( outputDirectory, finalName + 
"-sources.jar" );
-            File[] sourceDirectories = getDefaultSources();
-
-            try
-            {
-                createJar( outputFile, sourceDirectories, new JarArchiver() );
-            }
-            catch ( IOException e )
+            // Do not attach source JAR for artifacts with classifier. This is 
because Maven2 only supports a single
+            // classifier per artifact. This is a limitation. See 
http://jira.codehaus.org/browse/MSOURCES-10.
+            if ( getProject().getArtifact().getClassifier() != null )
             {
-                throw new MojoExecutionException( "Error creating source 
archive: " + e.getMessage(), e );
+                getLog().warn( "NOT adding sources to artifacts with 
classifier as Maven only supports one classifier "
+                    + "per artifact. Current artifact [" + 
getProject().getArtifact().getId() + "] has a ["
+                    + getProject().getArtifact().getClassifier() + "] 
classifier.");
             }
-            catch ( ArchiverException e )
+            else
             {
-                throw new MojoExecutionException( "Error creating source 
archive: " + e.getMessage(), e );
-            }
+                File outputFile = new File( outputDirectory, finalName + 
"-sources.jar" );
+                File[] sourceDirectories = getDefaultSources();
+
+                try
+                {
+                    createJar( outputFile, sourceDirectories, new 
JarArchiver() );
+                }
+                catch ( IOException e )
+                {
+                    throw new MojoExecutionException( "Error creating source 
archive: " + e.getMessage(), e );
+                }
+                catch ( ArchiverException e )
+                {
+                    throw new MojoExecutionException( "Error creating source 
archive: " + e.getMessage(), e );
+                }
 
-            attachArtifact( outputFile, "sources" );
+                attachArtifact( outputFile, "sources" );
+            }
         }
     }
 


Reply via email to