Author: brianf Date: Thu Nov 23 13:18:08 2006 New Revision: 478674 URL: http://svn.apache.org/viewvc?view=rev&rev=478674 Log: added more copymojo unit tests
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/utils/DependencyUtil.java maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/fromConfiguration/TestCopyMojo.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/DependencyProjectStub.java maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.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?view=diff&rev=478674&r1=478673&r2=478674 ============================================================================== --- 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 Thu Nov 23 13:18:08 2006 @@ -57,6 +57,7 @@ /** * Overwrite release artifacts + * * @optional * @since 1.0 * @parameter expression="${overWriteReleases}" default-value="false" @@ -65,14 +66,16 @@ /** * Overwrite snapshot artifacts + * * @optional * @since 1.0 * @parameter expression="${overWriteSnapshots}" default-value="false" */ protected boolean overWriteSnapshots; - + /** * Overwrite if newer + * * @optional * @since 2.0 * @parameter expression="${overIfNewer}" default-value="true" @@ -94,8 +97,9 @@ * 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. + * remove the version from the filename. * @return An ArrayList of preprocessed ArtifactItems * * @throws MojoExecutionException @@ -103,10 +107,14 @@ * * @see ArtifactItem */ - protected ArrayList getArtifactItems(boolean removeVersion) + protected ArrayList getArtifactItems( boolean removeVersion ) throws MojoExecutionException { - + if (artifactItems == null || artifactItems.size() < 1) + { + throw new MojoExecutionException("There are no artifactItems configured."); + } + Iterator iter = artifactItems.iterator(); while ( iter.hasNext() ) { @@ -119,24 +127,31 @@ } artifactItem.getOutputDirectory().mkdirs(); + //make sure we have a version. + if ( StringUtils.isEmpty( artifactItem.getVersion() ) ) + { + fillMissingArtifactVersion( artifactItem ); + } + artifactItem.setArtifact( this.getArtifact( artifactItem ) ); - //TODO:refactor this + // TODO:refactor this String overWrite = artifactItem.getOverWrite(); - if ( StringUtils.isEmpty(overWrite)) + if ( StringUtils.isEmpty( overWrite ) ) { - artifactItem.setDoOverWrite(false); + artifactItem.setDoOverWrite( false ); } else { artifactItem.setDoOverWrite( overWrite.equalsIgnoreCase( "true" ) ); } - + if ( artifactItem.getDestFileName() == null ) { - artifactItem.setDestFileName(DependencyUtil.getFormattedFileName( artifactItem.getArtifact(), removeVersion )); + artifactItem.setDestFileName( DependencyUtil.getFormattedFileName( artifactItem.getArtifact(), + removeVersion ) ); } - + } return artifactItems; } @@ -160,23 +175,7 @@ { Artifact artifact; - if ( artifactItem.getVersion() == null ) - { - fillMissingArtifactVersion( artifactItem ); - - if ( artifactItem.getVersion() == null ) - { - throw new MojoExecutionException( "Unable to find artifact version of " + artifactItem.getGroupId() - + ":" + artifactItem.getArtifactId() - + " in either dependency list or in project's dependency management." ); - } - - } - - // use classifer if set. - String classifier = artifactItem.getClassifier(); - - if ( classifier == null || classifier.equals( "" ) ) + if ( StringUtils.isEmpty( artifactItem.getClassifier() ) ) { artifact = factory.createArtifact( artifactItem.getGroupId(), artifactItem.getArtifactId(), artifactItem .getVersion(), Artifact.SCOPE_PROVIDED, artifactItem.getType() ); @@ -210,47 +209,49 @@ * * @param artifact * representing configured file. + * @throws MojoExecutionException */ private void fillMissingArtifactVersion( ArtifactItem artifact ) + throws MojoExecutionException { - // this.getLog().debug( - // "Attempting to find missing version in " + artifact.getGroupId() + ":" - // + artifact.getArtifactId() ); - - List list = this.project.getDependencies(); - - for ( int i = 0; i < list.size(); ++i ) + if ( !findDependencyVersion( artifact, project.getDependencies() ) ) { - Dependency dependency = (Dependency) list.get( i ); - - if ( dependency.getGroupId().equals( artifact.getGroupId() ) - && dependency.getArtifactId().equals( artifact.getArtifactId() ) - && dependency.getType().equals( artifact.getType() ) ) + if ( !findDependencyVersion( artifact, project.getDependencyManagement().getDependencies() ) ) { -// this.getLog().debug( "Found missing version: " + dependency.getVersion() + " in dependency list." ); - - artifact.setVersion( dependency.getVersion() ); - - return; + throw new MojoExecutionException( "Unable to find artifact version of " + artifact.getGroupId() + ":" + + artifact.getArtifactId() + " in either dependency list or in project's dependency management." ); } } + } - list = this.project.getDependencyManagement().getDependencies(); - - for ( int i = 0; i < list.size(); ++i ) + /** + * Tries to find missing version from a list of dependencies. If found, the + * artifact is updated with the correct version. + * + * @param artifact + * representing configured file. + * @param list + * list of dependencies to search. + * @returns the found dependency + */ + private boolean findDependencyVersion( ArtifactItem artifact, List list ) + { + boolean result = false; + for ( int i = 0; i < list.size(); i++ ) { Dependency dependency = (Dependency) list.get( i ); - - if ( dependency.getGroupId().equals( artifact.getGroupId() ) - && dependency.getArtifactId().equals( artifact.getArtifactId() ) - && dependency.getType().equals( artifact.getType() ) ) - { - // this.getLog().debug( - // "Found missing version: " + dependency.getVersion() - // + " in dependency management list" ); + if ( StringUtils.equals( dependency.getArtifactId(), artifact.getArtifactId() ) + && StringUtils.equals( dependency.getGroupId(), artifact.getGroupId() ) + && StringUtils.equals( dependency.getClassifier(), artifact.getClassifier() ) + && StringUtils.equals( dependency.getType(), artifact.getType() ) ) + { artifact.setVersion( dependency.getVersion() ); + + result = true; + break; } } + return result; } } 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=478674&r1=478673&r2=478674 ============================================================================== --- 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 Thu Nov 23 13:18:08 2006 @@ -22,6 +22,8 @@ import java.io.File; import org.apache.maven.artifact.Artifact; +import org.codehaus.plexus.archiver.util.FilterSupport; +import org.codehaus.plexus.util.StringUtils; /** * ArtifactItem represents information specified in the plugin configuration @@ -114,6 +116,17 @@ this.setVersion(artifact.getVersion()); } + private final String filterEmptyString(String in) + { + if (in.equals("")) + { + return null; + } + else + { + return in; + } + } /** * @return Returns the artifactId. */ @@ -128,7 +141,7 @@ */ public void setArtifactId( String artifact ) { - this.artifactId = artifact; + this.artifactId = filterEmptyString(artifact); } /** @@ -145,7 +158,7 @@ */ public void setGroupId( String groupId ) { - this.groupId = groupId; + this.groupId = filterEmptyString(groupId); } /** @@ -162,7 +175,7 @@ */ public void setType( String type ) { - this.type = type; + this.type = filterEmptyString(type); } /** @@ -179,7 +192,7 @@ */ public void setVersion( String version ) { - this.version = version; + this.version = filterEmptyString(version); } /** @@ -196,19 +209,18 @@ */ public void setClassifier( String classifier ) { - this.classifier = classifier; + this.classifier = filterEmptyString(classifier); } public String toString() { - String ver = ( version == null ) ? "?" : version; if ( this.classifier == null ) { - return groupId + ":" + artifactId + ":" + ver + ":" + type; + return groupId + ":" + artifactId + ":" + StringUtils.defaultString(version,"?") + ":" + type; } else { - return groupId + ":" + artifactId + ":" + classifier + ":" + ver + ":" + type; + return groupId + ":" + artifactId + ":" + classifier + ":" + StringUtils.defaultString(version,"?") + ":" + type; } } @@ -243,7 +255,7 @@ */ public void setDestFileName( String destFileName ) { - this.destFileName = destFileName; + this.destFileName = filterEmptyString(destFileName); } /** Modified: maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java?view=diff&rev=478674&r1=478673&r2=478674 ============================================================================== --- maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java (original) +++ maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java Thu Nov 23 13:18:08 2006 @@ -47,39 +47,35 @@ public static String getFormattedFileName( Artifact artifact, boolean removeVersion ) { String destFileName = null; + String versionString = null; if ( !removeVersion ) { - File file = artifact.getFile(); - if ( file != null ) - { - destFileName = file.getName(); - } - // so it can be used offline - else - { - if ( StringUtils.isNotEmpty( artifact.getClassifier() ) ) - { - destFileName = artifact.getArtifactId() + "-" + artifact.getClassifier() + "-" - + artifact.getVersion() + "." + artifact.getType(); - } - else - { - destFileName = artifact.getArtifactId() + "-" + artifact.getVersion() + "." + artifact.getType(); - } - } + versionString = "-" + artifact.getVersion(); + } + else + { + versionString = ""; + } + File file = artifact.getFile(); + if ( file != null ) + { + destFileName = file.getName(); } + // so it can be used offline else { - if ( artifact.getClassifier() != null ) + if ( StringUtils.isNotEmpty( artifact.getClassifier() ) ) { - destFileName = artifact.getArtifactId() + "-" + artifact.getClassifier() + "." + artifact.getType(); + destFileName = artifact.getArtifactId() + "-" + artifact.getClassifier() + versionString + "." + + artifact.getType(); } else { - destFileName = artifact.getArtifactId() + "." + artifact.getType(); + destFileName = artifact.getArtifactId() + versionString + "." + artifact.getType(); } } + return destFileName; } 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?view=diff&rev=478674&r1=478673&r2=478674 ============================================================================== --- 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 Thu Nov 23 13:18:08 2006 @@ -23,13 +23,17 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; +import java.util.List; +import org.apache.maven.artifact.resolver.ArtifactNotFoundException; +import org.apache.maven.artifact.resolver.ArtifactResolutionException; +import org.apache.maven.model.Dependency; 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; +import org.apache.maven.project.MavenProject; public class TestCopyMojo extends AbstractDependencyMojoTestCase @@ -50,7 +54,7 @@ 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; + // mojo.silent = true; assertNotNull( mojo ); assertNotNull( mojo.getProject() ); @@ -89,7 +93,7 @@ item.setOverWrite( "true" ); result = getSingleArtifactItem( false ); assertTrue( result.isDoOverWrite() ); - assertEquals(mojo.outputDirectory,result.getOutputDirectory()); + assertEquals( mojo.outputDirectory, result.getOutputDirectory() ); item.setOverWrite( "false" ); result = getSingleArtifactItem( false ); @@ -98,13 +102,13 @@ item.setOverWrite( "" ); result = getSingleArtifactItem( false ); assertFalse( result.isDoOverWrite() ); - + item.setOverWrite( "blah" ); - File output = new File(mojo.outputDirectory,"override"); - item.setOutputDirectory(output); + File output = new File( mojo.outputDirectory, "override" ); + item.setOutputDirectory( output ); result = getSingleArtifactItem( false ); assertFalse( result.isDoOverWrite() ); - assertEquals(output,result.getOutputDirectory()); + assertEquals( output, result.getOutputDirectory() ); } public void assertFilesExist( Collection items, boolean exist ) @@ -170,9 +174,276 @@ assertFilesExist( list, true ); } + public void testNonClassifierStrip() + throws IOException, MojoExecutionException + { + ArrayList list = stubFactory.getArtifactItems( stubFactory.getReleaseAndSnapshotArtifacts() ); + mojo.setStripVersion( true ); + mojo.artifactItems = list; + + mojo.execute(); + + assertFilesExist( list, true ); + } + + public void testNonClassifierNoStrip() + throws IOException, MojoExecutionException + { + ArrayList list = stubFactory.getArtifactItems( stubFactory.getReleaseAndSnapshotArtifacts() ); + + mojo.artifactItems = list; + + mojo.execute(); + + assertFilesExist( list, true ); + } + + public void testMissingVersionNotFound() + throws MojoExecutionException + { + ArtifactItem item = new ArtifactItem(); + + item.setArtifactId( "artifactId" ); + item.setClassifier( "" ); + item.setGroupId( "groupId" ); + item.setType( "type" ); + + ArrayList list = new ArrayList(); + list.add( item ); + mojo.artifactItems = list; + + try + { + mojo.execute(); + fail( "Expected Exception Here." ); + } + catch ( MojoExecutionException e ) + { + // caught the expected exception. + } + } + + public List getDependencyList( ArtifactItem item ) + { + Dependency dep = new Dependency(); + dep.setArtifactId( item.getArtifactId() ); + dep.setClassifier( item.getClassifier() ); + dep.setGroupId( item.getGroupId() ); + dep.setType( item.getType() ); + dep.setVersion( "2.0-SNAPSHOT" ); + + Dependency dep2 = new Dependency(); + dep2.setArtifactId( item.getArtifactId() ); + dep2.setClassifier( "classifier" ); + dep2.setGroupId( item.getGroupId() ); + dep2.setType( item.getType() ); + dep2.setVersion( "2.1" ); + + List list = new ArrayList( 2 ); + list.add( dep2 ); + list.add( dep ); + + return list; + } + + public void testMissingVersionFromDependencies() + throws MojoExecutionException + { + ArtifactItem item = new ArtifactItem(); + + item.setArtifactId( "artifactId" ); + item.setClassifier( "" ); + item.setGroupId( "groupId" ); + item.setType( "type" ); + + ArrayList list = new ArrayList(); + list.add( item ); + mojo.artifactItems = list; + + MavenProject project = mojo.getProject(); + project.setDependencies( getDependencyList( item ) ); + + mojo.execute(); + this.assertFileExists( item, true ); + assertEquals( "2.0-SNAPSHOT", item.getVersion() ); + } + + public void testMissingVersionFromDependenciesWithClassifier() + throws MojoExecutionException + { + ArtifactItem item = new ArtifactItem(); + + item.setArtifactId( "artifactId" ); + item.setClassifier( "classifier" ); + item.setGroupId( "groupId" ); + item.setType( "type" ); + + ArrayList list = new ArrayList(); + list.add( item ); + mojo.artifactItems = list; + + MavenProject project = mojo.getProject(); + project.setDependencies( getDependencyList( item ) ); + + mojo.execute(); + this.assertFileExists( item, true ); + assertEquals( "2.1", item.getVersion() ); + } + + public List getDependencyMgtList(ArtifactItem item) + { + Dependency dep = new Dependency(); + dep.setArtifactId(item.getArtifactId()); + dep.setClassifier(item.getClassifier()); + dep.setGroupId(item.getGroupId()); + dep.setType(item.getType()); + dep.setVersion("3.0-SNAPSHOT"); + + Dependency dep2 = new Dependency(); + dep2.setArtifactId(item.getArtifactId()); + dep2.setClassifier("classifier"); + dep2.setGroupId(item.getGroupId()); + dep2.setType(item.getType()); + dep2.setVersion("3.1"); + + List list = new ArrayList(2); + list.add(dep2); + list.add(dep); + + return list; + } + public void testMissingVersionFromDependencyMgt() + throws MojoExecutionException + { + ArtifactItem item = new ArtifactItem(); + + item.setArtifactId( "artifactId" ); + item.setClassifier( "" ); + item.setGroupId( "groupId" ); + item.setType( "type" ); + + + MavenProject project = mojo.getProject(); + project.setDependencies( getDependencyList( item ) ); + + item = new ArtifactItem(); + + item.setArtifactId( "artifactId-2" ); + item.setClassifier( "" ); + item.setGroupId( "groupId" ); + item.setType( "type" ); + + ArrayList list = new ArrayList(); + list.add( item ); + + mojo.artifactItems = list; + + project.getDependencyManagement().setDependencies( getDependencyMgtList( item ) ); + + mojo.execute(); + System.out.println("resolved:"+item.toString()); + this.assertFileExists( item, true ); + assertEquals( "3.0-SNAPSHOT", item.getVersion() ); + } + public void testMissingVersionFromDependencyMgtWithClassifier() + throws MojoExecutionException +{ + ArtifactItem item = new ArtifactItem(); + + item.setArtifactId( "artifactId" ); + item.setClassifier( "classifier" ); + item.setGroupId( "groupId" ); + item.setType( "type" ); + + + MavenProject project = mojo.getProject(); + project.setDependencies( getDependencyList( item ) ); + + item = new ArtifactItem(); + + item.setArtifactId( "artifactId-2" ); + item.setClassifier( "classifier" ); + item.setGroupId( "groupId" ); + item.setType( "type" ); + + ArrayList list = new ArrayList(); + list.add( item ); + + mojo.artifactItems = list; + + project.getDependencyManagement().setDependencies( getDependencyMgtList( item ) ); + + mojo.execute(); + System.out.println("resolved:"+item.toString()); + this.assertFileExists( item, true ); + assertEquals( "3.1", item.getVersion() ); +} + + public void testArtifactNotFound() + throws Exception +{ + dotestArtifactExceptions( false, true ); +} + +public void testArtifactResolutionException() + throws Exception +{ + dotestArtifactExceptions( true, false ); +} + +public void dotestArtifactExceptions( boolean are, boolean anfe ) + throws Exception +{ + ArtifactItem item = new ArtifactItem(); + + item.setArtifactId( "artifactId" ); + item.setClassifier( "" ); + item.setGroupId( "groupId" ); + item.setType( "type" ); + item.setVersion("1.0"); + + ArrayList list = new ArrayList(); + list.add( item ); + mojo.artifactItems = list; + + // init classifier things + mojo.setFactory(DependencyTestUtils.getArtifactFactory()); + mojo.setResolver(new StubArtifactResolver( null, are, anfe )); + mojo.setLocal(new StubArtifactRepository( this.testDir.getAbsolutePath() )); + + try + { + mojo.execute(); + fail( "ExpectedException" ); + } + catch ( MojoExecutionException e ) + { + if (are) + { + assertEquals("Unable to resolve artifact.",e.getMessage()); + } + else + { + assertEquals("Unable to find artifact.",e.getMessage()); + } + } +} + +public void testNoArtifactItems() +{ + try + { + mojo.getArtifactItems(false); + fail("Expected Exception"); + } + catch ( MojoExecutionException e ) + { + assertEquals("There are no artifactItems configured.",e.getMessage()); + } + +} + // 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=478674&r1=478673&r2=478674 ============================================================================== --- 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 Thu Nov 23 13:18:08 2006 @@ -32,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.model.Dependency; import org.apache.maven.plugin.dependency.fromConfiguration.ArtifactItem; import org.apache.maven.plugin.dependency.utils.DependencyUtil; import org.apache.maven.plugin.dependency.utils.SilentLog; Modified: maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/DependencyProjectStub.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/DependencyProjectStub.java?view=diff&rev=478674&r1=478673&r2=478674 ============================================================================== --- maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/DependencyProjectStub.java (original) +++ maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/DependencyProjectStub.java Thu Nov 23 13:18:08 2006 @@ -86,6 +86,8 @@ private MavenProject parent; + private List dependencies; + private File file; private List collectedProjects; @@ -108,6 +110,8 @@ private Set dependencyArtifacts; + private DependencyManagement dependencyManagement; + private Artifact artifact; private Map artifactMap; @@ -253,17 +257,26 @@ public void setDependencies( List list ) { - + dependencies = list; } public List getDependencies() { - return Collections.singletonList( "" ); + if (dependencies == null) + { + dependencies = Collections.EMPTY_LIST; + } + return dependencies; } public DependencyManagement getDependencyManagement() { - return null; + if (dependencyManagement == null) + { + dependencyManagement = new DependencyManagement(); + } + + return dependencyManagement; } public void addCompileSourceRoot( String string ) Modified: maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java?view=diff&rev=478674&r1=478673&r2=478674 ============================================================================== --- maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java (original) +++ maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java Thu Nov 23 13:18:08 2006 @@ -60,7 +60,7 @@ ArtifactHandler ah = new DefaultArtifactHandler(); VersionRange vr = VersionRange.createFromVersion( "1.1" ); - this.release = new DefaultArtifact( "test", "1", vr, Artifact.SCOPE_COMPILE, "jar", null, ah, false ); + release = new DefaultArtifact( "test", "1", vr, Artifact.SCOPE_COMPILE, "jar", null, ah, false ); artifacts.add( release ); vr = VersionRange.createFromVersion( "1.1-SNAPSHOT" ); @@ -79,8 +79,6 @@ } - - public void testDirectoryName() throws MojoExecutionException { @@ -127,7 +125,7 @@ public void testFileName() throws MojoExecutionException { - DefaultArtifact artifact = (DefaultArtifact) artifacts.get( 0 ); + Artifact artifact = (Artifact) artifacts.get( 0 ); String name = DependencyUtil.getFormattedFileName( artifact, false ); String expectedResult = "1-1.1.jar"; @@ -136,15 +134,27 @@ name = DependencyUtil.getFormattedFileName( artifact, true ); expectedResult = "1.jar"; assertTrue( expectedResult.equalsIgnoreCase( name ) ); + } - artifact = (DefaultArtifact) artifacts.get( 1 ); - - name = DependencyUtil.getFormattedFileName( artifact, false ); - expectedResult = "2-sources-1.1-SNAPSHOT.war"; - assertTrue( expectedResult.equalsIgnoreCase( name ) ); + public void testFileNameClassifier() + throws MojoExecutionException + { + ArtifactHandler ah = new DefaultArtifactHandler(); + VersionRange vr = VersionRange.createFromVersion( "1.1-SNAPSHOT" ); + Artifact artifact = new DefaultArtifact( "test", "2", vr, Artifact.SCOPE_PROVIDED, "war", "sources", ah, false ); + + String name = DependencyUtil.getFormattedFileName( artifact, false ); + String expectedResult = "2-sources-1.1-SNAPSHOT.war"; + assertEquals(expectedResult,name ); name = DependencyUtil.getFormattedFileName( artifact, true ); expectedResult = "2-sources.war"; - assertTrue( expectedResult.equalsIgnoreCase( name ) ); + assertEquals(expectedResult,name ); + + artifact = new DefaultArtifact( "test", "2", vr, Artifact.SCOPE_PROVIDED, "war", "", ah, false ); + name = DependencyUtil.getFormattedFileName( artifact, true ); + expectedResult = "2.war"; + assertEquals(expectedResult,name ); + } }