Author: brianf
Date: Mon Nov 20 20:24:05 2006
New Revision: 477502
URL: http://svn.apache.org/viewvc?view=rev&rev=477502
Log:
added CopyMojo tests
Added:
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestArtifactItem.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/AbstractDependencyMojo.java
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/TestCopyDependenciesMojo.java
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestResolveMojo.java
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo.java
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/ArtifactStubFactory.java
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/StubArtifactResolver.java
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyMojo.java?view=diff&rev=477502&r1=477501&r2=477502
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyMojo.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyMojo.java
Mon Nov 20 20:24:05 2006
@@ -111,7 +111,7 @@
* @since 2.0
* @parameter expression="${silent}" default-value="false"
*/
- protected boolean silent;
+ public boolean silent;
/**
* Output absolute filename for resolved artifacts
@@ -224,4 +224,83 @@
}
}
+ /**
+ * @return Returns the factory.
+ */
+ public org.apache.maven.artifact.factory.ArtifactFactory getFactory()
+ {
+ return this.factory;
+ }
+
+ /**
+ * @param factory The factory to set.
+ */
+ public void setFactory( org.apache.maven.artifact.factory.ArtifactFactory
factory )
+ {
+ this.factory = factory;
+ }
+
+ /**
+ * @return Returns the project.
+ */
+ public MavenProject getProject()
+ {
+ return this.project;
+ }
+
+ /**
+ * @return Returns the local.
+ */
+ public org.apache.maven.artifact.repository.ArtifactRepository getLocal()
+ {
+ return this.local;
+ }
+
+ /**
+ * @param local The local to set.
+ */
+ public void setLocal(
org.apache.maven.artifact.repository.ArtifactRepository local )
+ {
+ this.local = local;
+ }
+
+ /**
+ * @return Returns the remoteRepos.
+ */
+ public java.util.List getRemoteRepos()
+ {
+ return this.remoteRepos;
+ }
+
+ /**
+ * @param remoteRepos The remoteRepos to set.
+ */
+ public void setRemoteRepos( java.util.List remoteRepos )
+ {
+ this.remoteRepos = remoteRepos;
+ }
+
+ /**
+ * @return Returns the resolver.
+ */
+ public org.apache.maven.artifact.resolver.ArtifactResolver getResolver()
+ {
+ return this.resolver;
+ }
+
+ /**
+ * @param resolver The resolver to set.
+ */
+ public void setResolver(
org.apache.maven.artifact.resolver.ArtifactResolver resolver )
+ {
+ this.resolver = resolver;
+ }
+
+ /**
+ * @param archiverManager The archiverManager to set.
+ */
+ public void setArchiverManager( ArchiverManager archiverManager )
+ {
+ this.archiverManager = archiverManager;
+ }
}
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?view=diff&rev=477502&r1=477501&r2=477502
==============================================================================
---
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
Mon Nov 20 20:24:05 2006
@@ -30,6 +30,8 @@
import org.apache.maven.model.Dependency;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.dependency.AbstractDependencyMojo;
+import org.apache.maven.plugin.dependency.utils.DependencyUtil;
+import org.codehaus.plexus.util.StringUtils;
/**
* Abstract Parent class used by mojos that get Artifact information from the
@@ -86,13 +88,14 @@
* @required
* @since 1.0
*/
- private ArrayList artifactItems;
+ protected ArrayList artifactItems;
/**
* Preprocesses the list of ArtifactItems. This method defaults the
* outputDirectory if not set and creates the output Directory if it
doesn't
* exist.
- *
+ * @param removeVersion
+ * remove the version from the filename.
* @return An ArrayList of preprocessed ArtifactItems
*
* @throws MojoExecutionException
@@ -100,7 +103,7 @@
*
* @see ArtifactItem
*/
- protected ArrayList getArtifactItems()
+ protected ArrayList getArtifactItems(boolean removeVersion)
throws MojoExecutionException
{
@@ -120,7 +123,7 @@
//TODO:refactor this
String overWrite = artifactItem.getOverWrite();
- if ( overWrite == null )
+ if ( StringUtils.isEmpty(overWrite))
{
artifactItem.setDoOverWrite(false);
}
@@ -128,6 +131,12 @@
{
artifactItem.setDoOverWrite( overWrite.equalsIgnoreCase(
"true" ) );
}
+
+ if ( artifactItem.getDestFileName() == null )
+ {
+
artifactItem.setDestFileName(DependencyUtil.getFormattedFileName(
artifactItem.getArtifact(), removeVersion ));
+ }
+
}
return artifactItems;
}
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?view=diff&rev=477502&r1=477501&r2=477502
==============================================================================
---
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
Mon Nov 20 20:24:05 2006
@@ -26,6 +26,7 @@
/**
* ArtifactItem represents information specified in the plugin configuration
* section for each artifact.
+ *
* @since 1.0
* @author brianf
*/
@@ -92,12 +93,27 @@
* Force Overwrite
*/
private boolean doOverWrite;
-
+
/**
* Artifact Item
*/
private Artifact artifact;
+ public ArtifactItem()
+ {
+ // default constructor
+ }
+
+ public ArtifactItem( Artifact artifact )
+ {
+ this.setArtifact(artifact);
+ this.setArtifactId(artifact.getArtifactId());
+ this.setClassifier(artifact.getClassifier());
+ this.setGroupId(artifact.getGroupId());
+ this.setType(artifact.getType());
+ this.setVersion(artifact.getVersion());
+ }
+
/**
* @return Returns the artifactId.
*/
@@ -185,14 +201,14 @@
public String toString()
{
- String ver = (version == null)? "?" : version;
- if (this.classifier == null)
+ String ver = ( version == null ) ? "?" : version;
+ if ( this.classifier == null )
{
- return groupId + ":" + artifactId + ":" + ver + ":" + type;
+ return groupId + ":" + artifactId + ":" + ver + ":" + type;
}
else
{
- return groupId + ":" + artifactId + ":" + classifier + ":" + ver +
":" + type;
+ return groupId + ":" + artifactId + ":" + classifier + ":" + ver +
":" + type;
}
}
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?view=diff&rev=477502&r1=477501&r2=477502
==============================================================================
---
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
Mon Nov 20 20:24:05 2006
@@ -17,7 +17,6 @@
* under the License.
*/
-
package org.apache.maven.plugin.dependency.fromConfiguration;
import java.io.File;
@@ -64,12 +63,12 @@
public void execute()
throws MojoExecutionException
{
- ArrayList artifactItems = getArtifactItems();
- Iterator iter = artifactItems.iterator();
+ ArrayList theArtifactItems = getArtifactItems( this.stripVersion );
+ Iterator iter = theArtifactItems.iterator();
while ( iter.hasNext() )
{
ArtifactItem artifactItem = (ArtifactItem) iter.next();
- copyArtifact( artifactItem, this.stripVersion );
+ copyArtifact( artifactItem);
}
}
@@ -79,31 +78,18 @@
*
* @param artifactItem
* containing the information about the Artifact to copy.
- * @param removeVersion
- * specifies if the version should be removed from the file name
- * when copying.
* @throws MojoExecutionException
* with a message if an error occurs.
*
* @see DependencyUtil#copyFile(File, File, Log)
* @see DependencyUtil#getFormattedFileName(Artifact, boolean)
*/
- protected void copyArtifact( ArtifactItem artifactItem, boolean
removeVersion )
+ protected void copyArtifact( ArtifactItem artifactItem )
throws MojoExecutionException
{
Artifact artifact = artifactItem.getArtifact();
- String destFileName = null;
- if ( artifactItem.getDestFileName() != null )
- {
- destFileName = artifactItem.getDestFileName();
- }
- else
- {
- destFileName = DependencyUtil.getFormattedFileName( artifact,
removeVersion );
- }
-
- File destFile = new File( artifactItem.getOutputDirectory(),
destFileName );
+ File destFile = new File( artifactItem.getOutputDirectory(),
artifactItem.getDestFileName() );
// TODO: refactor this to use the filters.
if ( !artifactItem.isDoOverWrite() )
@@ -117,7 +103,7 @@
artifactItem.setDoOverWrite( this.overWriteReleases );
}
}
-
+
File artifactFile = artifact.getFile();
if ( artifactItem.isDoOverWrite()
|| ( !destFile.exists() || ( overWriteIfNewer &&
artifactFile.lastModified() < destFile.lastModified() ) ) )
@@ -128,6 +114,22 @@
{
this.getLog().info( artifactFile + " already exists." );
}
+ }
+
+ /**
+ * @return Returns the stripVersion.
+ */
+ public boolean isStripVersion()
+ {
+ return this.stripVersion;
+ }
+
+ /**
+ * @param stripVersion The stripVersion to set.
+ */
+ public void setStripVersion( boolean stripVersion )
+ {
+ this.stripVersion = stripVersion;
}
}
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?view=diff&rev=477502&r1=477501&r2=477502
==============================================================================
---
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
Mon Nov 20 20:24:05 2006
@@ -67,7 +67,7 @@
public void execute()
throws MojoExecutionException
{
- ArrayList artifactItems = getArtifactItems();
+ ArrayList artifactItems = getArtifactItems(false);
Iterator iter = artifactItems.iterator();
while ( iter.hasNext() )
{
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java?view=diff&rev=477502&r1=477501&r2=477502
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java
Mon Nov 20 20:24:05 2006
@@ -52,8 +52,8 @@
// mojo.silent = true;
assertNotNull( mojo );
- assertNotNull( mojo.project );
- MavenProject project = mojo.project;
+ assertNotNull( mojo.getProject() );
+ MavenProject project = mojo.getProject();
Set artifacts = this.stubFactory.getScopedArtifacts();
Set directArtifacts =
this.stubFactory.getReleaseAndSnapshotArtifacts();
@@ -440,9 +440,9 @@
mojo.type = testType;
// init classifier things
- mojo.factory = DependencyTestUtils.getArtifactFactory();
- mojo.resolver = new StubArtifactResolver( stubFactory, false, false );
- mojo.local = new StubArtifactRepository(
this.testDir.getAbsolutePath() );
+ mojo.setFactory( DependencyTestUtils.getArtifactFactory() );
+ mojo.setResolver( new StubArtifactResolver( stubFactory, false, false
) );
+ mojo.setLocal( new StubArtifactRepository(
this.testDir.getAbsolutePath() ) );
mojo.execute();
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestResolveMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestResolveMojo.java?view=diff&rev=477502&r1=477501&r2=477502
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestResolveMojo.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestResolveMojo.java
Mon Nov 20 20:24:05 2006
@@ -46,9 +46,11 @@
{
File testPom = new File( getBasedir(),
"target/test-classes/unit/resolve-test/plugin-config.xml" );
ResolveDependenciesMojo mojo = (ResolveDependenciesMojo) lookupMojo(
"resolve", testPom );
+
assertNotNull( mojo );
- assertNotNull( mojo.project );
- MavenProject project = mojo.project;
+ assertNotNull( mojo.getProject() );
+ MavenProject project = mojo.getProject();
+
mojo.silent = true;
Set artifacts = this.stubFactory.getScopedArtifacts();
Set directArtifacts =
this.stubFactory.getReleaseAndSnapshotArtifacts();
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo.java?view=diff&rev=477502&r1=477501&r2=477502
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestUnpackDependenciesMojo.java
Mon Nov 20 20:24:05 2006
@@ -59,8 +59,8 @@
+ "target/test-classes/unit/unpack-dependencies-test/test.txt" ) );
assertNotNull( mojo );
- assertNotNull( mojo.project );
- MavenProject project = mojo.project;
+ assertNotNull( mojo.getProject() );
+ MavenProject project = mojo.getProject();
Set artifacts = this.stubFactory.getScopedArtifacts();
Set directArtifacts =
this.stubFactory.getReleaseAndSnapshotArtifacts();
@@ -85,7 +85,7 @@
File destFile = new File( folder, stubFactory.getUnpackableFileName(
artifact ) );
- /*
+ /*
* System.out.println( "Checking file: " + destFile.getPath() ); if (
* val != destFile.exists() ) { System.out.println( "FAIL!" ); }
*/
@@ -371,9 +371,9 @@
mojo.classifier = "jdk";
mojo.type = "java-sources";
// init classifier things
- mojo.factory = DependencyTestUtils.getArtifactFactory();
- mojo.resolver = new StubArtifactResolver( null, are, anfe );
- mojo.local = new StubArtifactRepository(
this.testDir.getAbsolutePath() );
+ mojo.setFactory( DependencyTestUtils.getArtifactFactory() );
+ mojo.setResolver( new StubArtifactResolver( null, are, anfe ) );
+ mojo.setLocal( new StubArtifactRepository(
this.testDir.getAbsolutePath() ) );
try
{
Added:
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestArtifactItem.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestArtifactItem.java?view=auto&rev=477502
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestArtifactItem.java
(added)
+++
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestArtifactItem.java
Mon Nov 20 20:24:05 2006
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.maven.plugin.dependency.fromConfiguration;
+
+import java.io.IOException;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.plugin.dependency.AbstractDependencyMojoTestCase;
+
+public class TestArtifactItem
+ extends AbstractDependencyMojoTestCase
+{
+
+ protected void setUp()
+ throws Exception
+ {
+ setUp("artifactItems",false);
+ }
+
+ public void testArtifactItemConstructor() throws IOException
+ {
+ Artifact artifact = stubFactory.createArtifact( "g", "a", "1.0",
Artifact.SCOPE_COMPILE, "jar", "one" );
+
+ ArtifactItem item = new ArtifactItem(artifact);
+
+ assertEquals(item.getArtifact(),artifact);
+ assertEquals(item.getArtifactId(),artifact.getArtifactId());
+ assertEquals(item.getGroupId(),artifact.getGroupId());
+ assertEquals(item.getVersion(),artifact.getVersion());
+ assertEquals(item.getClassifier(),artifact.getClassifier());
+ assertEquals(item.getType(),artifact.getType());
+ }
+
+ public void testArtifactItemDefaultType()
+ {
+ ArtifactItem item = new ArtifactItem();
+ //check type default
+ assertEquals( "jar", item.getType() );
+ }
+
+}
Added:
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?view=auto&rev=477502
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestCopyMojo.java
(added)
+++
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestCopyMojo.java
Mon Nov 20 20:24:05 2006
@@ -0,0 +1,178 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.maven.plugin.dependency.fromConfiguration;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.dependency.AbstractDependencyMojoTestCase;
+import org.apache.maven.plugin.dependency.testUtils.DependencyTestUtils;
+import
org.apache.maven.plugin.dependency.testUtils.stubs.StubArtifactRepository;
+import org.apache.maven.plugin.dependency.testUtils.stubs.StubArtifactResolver;
+import org.apache.maven.plugin.dependency.utils.DependencyUtil;
+
+public class TestCopyMojo
+ extends AbstractDependencyMojoTestCase
+{
+
+ CopyMojo mojo;
+
+ public TestCopyMojo()
+ {
+ super();
+ }
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp( "copy", false );
+
+ File testPom = new File( getBasedir(),
"target/test-classes/unit/copy-test/plugin-config.xml" );
+ mojo = (CopyMojo) lookupMojo( "copy", testPom );
+ mojo.outputDirectory = new File( this.testDir, "outputDirectory" );
+ mojo.silent = true;
+
+ assertNotNull( mojo );
+ assertNotNull( mojo.getProject() );
+ // MavenProject project = mojo.getProject();
+ // init classifier things
+ mojo.setFactory( DependencyTestUtils.getArtifactFactory() );
+ mojo.setResolver( new StubArtifactResolver( stubFactory, false, false
) );
+ mojo.setLocal( new StubArtifactRepository(
this.testDir.getAbsolutePath() ) );
+ }
+
+ public ArtifactItem getSingleArtifactItem( boolean removeVersion )
+ throws MojoExecutionException
+ {
+ ArrayList list = mojo.getArtifactItems( removeVersion );
+ return (ArtifactItem) list.get( 0 );
+ }
+
+ public void testGetArtifactItems()
+ throws MojoExecutionException
+ {
+
+ ArtifactItem item = new ArtifactItem();
+
+ item.setArtifactId( "artifact" );
+ item.setGroupId( "groupId" );
+ item.setVersion( "1.0" );
+
+ ArrayList list = new ArrayList( 1 );
+ list.add( item );
+
+ mojo.artifactItems = list;
+
+ ArtifactItem result = getSingleArtifactItem( false );
+ assertFalse( result.isDoOverWrite() );
+
+ item.setOverWrite( "true" );
+ result = getSingleArtifactItem( false );
+ assertTrue( result.isDoOverWrite() );
+ assertEquals(mojo.outputDirectory,result.getOutputDirectory());
+
+ item.setOverWrite( "false" );
+ result = getSingleArtifactItem( false );
+ assertFalse( result.isDoOverWrite() );
+
+ item.setOverWrite( "" );
+ result = getSingleArtifactItem( false );
+ assertFalse( result.isDoOverWrite() );
+
+ item.setOverWrite( "blah" );
+ File output = new File(mojo.outputDirectory,"override");
+ item.setOutputDirectory(output);
+ result = getSingleArtifactItem( false );
+ assertFalse( result.isDoOverWrite() );
+ assertEquals(output,result.getOutputDirectory());
+ }
+
+ public void assertFilesExist( Collection items, boolean exist )
+ {
+ Iterator iter = items.iterator();
+ while ( iter.hasNext() )
+ {
+ assertFileExists( (ArtifactItem) iter.next(), exist );
+ }
+ }
+
+ public void assertFileExists( ArtifactItem item, boolean exist )
+ {
+ File file = new File( item.getOutputDirectory(),
item.getDestFileName() );
+ assertEquals( exist, file.exists() );
+ }
+
+ public void testMojoDefaults()
+ {
+ CopyMojo mojo = new CopyMojo();
+
+ assertFalse( mojo.isStripVersion() );
+ }
+
+ public void testCopyFile()
+ throws IOException, MojoExecutionException
+ {
+ ArrayList list = stubFactory.getArtifactItems(
stubFactory.getClassifiedArtifacts() );
+
+ mojo.artifactItems = list;
+
+ mojo.execute();
+
+ assertFilesExist( list, true );
+ }
+
+ public void testCopyToLocation()
+ throws IOException, MojoExecutionException
+ {
+ ArrayList list = stubFactory.getArtifactItems(
stubFactory.getClassifiedArtifacts() );
+ ArtifactItem item = (ArtifactItem) list.get( 0 );
+ item.setOutputDirectory( new File( mojo.outputDirectory,
"testOverride" ) );
+
+ mojo.artifactItems = list;
+
+ mojo.execute();
+
+ assertFilesExist( list, true );
+ }
+
+ public void testCopyStripVersion()
+ throws IOException, MojoExecutionException
+ {
+ ArrayList list = stubFactory.getArtifactItems(
stubFactory.getClassifiedArtifacts() );
+ ArtifactItem item = (ArtifactItem) list.get( 0 );
+ item.setOutputDirectory( new File( mojo.outputDirectory,
"testOverride" ) );
+ mojo.setStripVersion( true );
+
+ mojo.artifactItems = list;
+
+ mojo.execute();
+
+ assertFilesExist( list, true );
+ }
+
+ // TODO: test overwrite / overwrite if newer / overwrite release /
overwrite
+ // snapshot
+ // TODO: test non classifier
+ // TODO: test missing version - from dependency and from dependency
+ // management
+}
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/ArtifactStubFactory.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/ArtifactStubFactory.java?view=diff&rev=477502&r1=477501&r2=477502
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/ArtifactStubFactory.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/ArtifactStubFactory.java
Mon Nov 20 20:24:05 2006
@@ -20,7 +20,11 @@
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
import java.util.Set;
import org.apache.maven.artifact.Artifact;
@@ -28,6 +32,7 @@
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.handler.DefaultArtifactHandler;
import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.plugin.dependency.fromConfiguration.ArtifactItem;
import org.apache.maven.plugin.dependency.utils.DependencyUtil;
import org.apache.maven.plugin.dependency.utils.SilentLog;
import org.codehaus.plexus.archiver.Archiver;
@@ -95,6 +100,9 @@
return artifact;
}
+ /*
+ * Creates a file that can be copied or unpacked based on the passed in
artifact
+ */
public void setArtifactFile( Artifact artifact )
throws IOException
{
@@ -294,5 +302,22 @@
public void setSrcFile( File srcFile )
{
this.srcFile = srcFile;
+ }
+
+ public ArtifactItem getArtifactItem(Artifact artifact)
+ {
+ ArtifactItem item = new ArtifactItem(artifact);
+ return item;
+ }
+
+ public ArrayList getArtifactItems(Collection artifacts)
+ {
+ ArrayList list = new ArrayList();
+ Iterator iter = artifacts.iterator();
+ while (iter.hasNext())
+ {
+ list.add(getArtifactItem((Artifact) iter.next()));
+ }
+ return list;
}
}
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/StubArtifactResolver.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/StubArtifactResolver.java?view=diff&rev=477502&r1=477501&r2=477502
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/StubArtifactResolver.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/StubArtifactResolver.java
Mon Nov 20 20:24:05 2006
@@ -52,6 +52,10 @@
this.factory = factory;
}
+ /*
+ * Creates dummy file and sets it in the artifact to simulate resolution
(non-Javadoc)
+ * @see
org.apache.maven.artifact.resolver.ArtifactResolver#resolve(org.apache.maven.artifact.Artifact,
java.util.List, org.apache.maven.artifact.repository.ArtifactRepository)
+ */
public void resolve( Artifact artifact, List remoteRepositories,
ArtifactRepository localRepository )
throws ArtifactResolutionException, ArtifactNotFoundException
{