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 )