You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2013/02/12 22:55:34 UTC

svn commit: r1445407 - in /maven/plugins/trunk/maven-dependency-plugin/src: main/java/org/apache/maven/plugin/dependency/fromConfiguration/ test/java/org/apache/maven/plugin/dependency/fromConfiguration/

Author: olamy
Date: Tue Feb 12 21:55:34 2013
New Revision: 1445407

URL: http://svn.apache.org/r1445407
Log:
[MDEP-396] Add support to use the baseVersion of an artifact instead of version for the destFileName
Submitted by Andreas Kuhtz.

Modified:
    maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/AbstractFromConfigurationMojo.java
    maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/ArtifactItem.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/fromConfiguration/UnpackMojo.java
    maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestCopyMojo.java

Modified: maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/AbstractFromConfigurationMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/AbstractFromConfigurationMojo.java?rev=1445407&r1=1445406&r2=1445407&view=diff
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/AbstractFromConfigurationMojo.java (original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/AbstractFromConfigurationMojo.java Tue Feb 12 21:55:34 2013
@@ -149,11 +149,13 @@ public abstract class AbstractFromConfig
      * output Directory if it doesn't exist.
      *
      * @param removeVersion remove the version from the filename.
+     * @param prependGroupId prepend the groupId to the filename.
+     * @param useBaseVersion use the baseVersion of the artifact instead of version for the filename.
      * @return An ArrayList of preprocessed ArtifactItems
      * @throws MojoExecutionException with a message if an error occurs.
      * @see ArtifactItem
      */
-    protected List<ArtifactItem> getProcessedArtifactItems( boolean removeVersion )
+    protected List<ArtifactItem> getProcessedArtifactItems( boolean removeVersion, boolean prependGroupId , boolean useBaseVersion )
         throws MojoExecutionException
     {
         if ( artifactItems == null || artifactItems.size() < 1 )
@@ -182,7 +184,7 @@ public abstract class AbstractFromConfig
             if ( StringUtils.isEmpty( artifactItem.getDestFileName() ) )
             {
                 artifactItem.setDestFileName(
-                    DependencyUtil.getFormattedFileName( artifactItem.getArtifact(), removeVersion ) );
+                    DependencyUtil.getFormattedFileName( artifactItem.getArtifact(), removeVersion, prependGroupId, useBaseVersion ) );
             }
 
             try

Modified: maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/ArtifactItem.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/ArtifactItem.java?rev=1445407&r1=1445406&r2=1445407&view=diff
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/ArtifactItem.java (original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/ArtifactItem.java Tue Feb 12 21:55:34 2013
@@ -59,6 +59,13 @@ public class ArtifactItem
     private String version = null;
 
     /**
+     * BaseVersion of Artifact
+     *
+     * @parameter
+     */
+    private String baseVersion = null;
+
+    /**
      * Type of Artifact (War,Jar,etc)
      *
      * @parameter
@@ -127,6 +134,7 @@ public class ArtifactItem
         this.setGroupId( artifact.getGroupId() );
         this.setType( artifact.getType() );
         this.setVersion( artifact.getVersion() );
+        this.setBaseVersion( artifact.getBaseVersion() );
     }
 
     private String filterEmptyString( String in )
@@ -207,6 +215,23 @@ public class ArtifactItem
     }
 
     /**
+     * @return Returns the base version.
+     */
+    public String getBaseVersion()
+    {
+        return baseVersion;
+    }
+
+    /**
+     * @param baseVersion
+     *            The base version to set.
+     */
+    public void setBaseVersion( String baseVersion )
+    {
+        this.baseVersion = filterEmptyString( baseVersion );
+    }
+
+    /**
      * @return Classifier.
      */
     public String getClassifier()

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=1445407&r1=1445406&r2=1445407&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 Tue Feb 12 21:55:34 2013
@@ -49,6 +49,18 @@ public class CopyMojo
     private boolean stripVersion = false;
 
     /**
+     * Prepend artifact groupId during copy
+     */
+    @Parameter( property = "mdep.prependGroupId", defaultValue = "false" )
+    private boolean prependGroupId = false;
+
+    /**
+     * Use artifact baseVersion during copy
+     */
+    @Parameter( property = "mdep.useBaseVersion", defaultValue = "false" )
+    private boolean useBaseVersion = false;
+
+    /**
      * The artifact to copy from commandLine.
      * Use {@link #artifactItems} within the pom-configuration.
      */
@@ -75,7 +87,7 @@ public class CopyMojo
         
         verifyRequirements();
 
-        List<ArtifactItem> theArtifactItems = getProcessedArtifactItems( this.stripVersion );
+        List<ArtifactItem> theArtifactItems = getProcessedArtifactItems( this.stripVersion, this.prependGroupId, this.useBaseVersion );
         for ( ArtifactItem artifactItem : theArtifactItems )
         {
             if ( artifactItem.isNeedsProcessing() )
@@ -129,4 +141,11 @@ public class CopyMojo
         this.stripVersion = stripVersion;
     }
 
+    /**
+     * @param useBaseVersion The useBaseVersion to set.
+     */
+    public void setUseBaseVersion( boolean useBaseVersion )
+    {
+        this.useBaseVersion = useBaseVersion;
+    }
 }

Modified: maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/UnpackMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/UnpackMojo.java?rev=1445407&r1=1445406&r2=1445407&view=diff
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/UnpackMojo.java (original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/UnpackMojo.java Tue Feb 12 21:55:34 2013
@@ -141,7 +141,7 @@ public final class UnpackMojo
     protected List<ArtifactItem> getProcessedArtifactItems( boolean removeVersion )
         throws MojoExecutionException
     {
-        List<ArtifactItem> items = super.getProcessedArtifactItems( removeVersion );
+        List<ArtifactItem> items = super.getProcessedArtifactItems( removeVersion, false, false );
         for ( ArtifactItem artifactItem : items )
         {
             if ( StringUtils.isEmpty( artifactItem.getIncludes() ) )

Modified: maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestCopyMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestCopyMojo.java?rev=1445407&r1=1445406&r2=1445407&view=diff
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestCopyMojo.java (original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestCopyMojo.java Tue Feb 12 21:55:34 2013
@@ -67,10 +67,10 @@ public class TestCopyMojo
 
     }
 
-    public ArtifactItem getSingleArtifactItem( boolean removeVersion )
+    public ArtifactItem getSingleArtifactItem( boolean removeVersion, boolean useBaseVersion )
         throws MojoExecutionException
     {
-        List<ArtifactItem> list = mojo.getProcessedArtifactItems( removeVersion );
+        List<ArtifactItem> list = mojo.getProcessedArtifactItems( removeVersion, false, useBaseVersion );
         return list.get( 0 );
     }
 
@@ -89,12 +89,12 @@ public class TestCopyMojo
 
         mojo.setArtifactItems( list );
 
-        ArtifactItem result = getSingleArtifactItem( false );
+        ArtifactItem result = getSingleArtifactItem( false, false );
         assertEquals( mojo.getOutputDirectory(), result.getOutputDirectory() );
 
         File output = new File( mojo.getOutputDirectory(), "override" );
         item.setOutputDirectory( output );
-        result = getSingleArtifactItem( false );
+        result = getSingleArtifactItem( false, false );
         assertEquals( output, result.getOutputDirectory() );
     }
 
@@ -132,6 +132,26 @@ public class TestCopyMojo
         assertFilesExist( list, true );
     }
     
+    public void testCopyFileWithBaseVersion()
+        throws Exception
+    {
+        List<ArtifactItem> list = stubFactory.getArtifactItems( stubFactory.getClassifiedArtifacts() );
+        ArtifactItem item = new ArtifactItem();
+
+        item.setArtifactId( "artifact" );
+        item.setGroupId( "groupId" );
+        item.setVersion( "1.0-20130210.213424-191" );
+        item.setBaseVersion( "1.0-SNAPSHOT" );
+        list.add(item);
+
+        mojo.setArtifactItems( list );
+        mojo.setUseBaseVersion(true);
+
+        mojo.execute();
+
+        assertFilesExist( list, true );
+    }
+    
     public void testSkip()
         throws Exception
     {
@@ -515,7 +535,7 @@ public class TestCopyMojo
     {
         try
         {
-            mojo.getProcessedArtifactItems( false );
+            mojo.getProcessedArtifactItems( false, false, false );
             fail( "Expected Exception" );
         }
         catch ( MojoExecutionException e )