diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java index 8c10e8e3b8..2f198f6d12 100644 --- a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java +++ b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java @@ -456,12 +456,15 @@ public ArtifactResolutionResult resolve( ArtifactResolutionRequest request ) } } - if ( artifacts == null || artifacts.size() == 0 ) + if ( artifacts == null || artifacts.isEmpty() ) { - result.addArtifact( rootArtifact ); + if ( request.isResolveRoot() ) + { + result.addArtifact( rootArtifact ); + } return result; } - + // After the collection we will have the artifact object in the result but they will not be resolved yet. result = artifactCollector.collect( artifacts, rootArtifact, managedVersions, localRepository, remoteRepositories, source, filter, listeners, null ); diff --git a/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java b/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java index db722ee8aa..e7b0101930 100644 --- a/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java +++ b/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java @@ -23,6 +23,7 @@ import java.io.IOException; import java.io.Reader; import java.io.Writer; +import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; @@ -389,6 +390,20 @@ public void testProjectReading() artifacts.iterator().next(); } + public void testProjectReadingNoDependencies() + throws Exception + { + MavenExecutionRequest request = + new DefaultMavenExecutionRequest().setShowErrors( true ).setPom( + getPomFile( "pom-without-dependencies.xml" ) ); + + MavenExecutionResult result = mavenEmbedder.readProjectWithDependencies( request ); + + assertNoExceptions( result ); + + assertEquals( new ArrayList(), new ArrayList( result.getProject().getArtifacts() ) ); + } + public void testProjectReading_FromChildLevel_ScmInheritanceCalculations() throws Exception { @@ -600,6 +615,12 @@ public void testWriteSettings_shouldFailToValidate() protected File getPomFile() { - return new File( basedir, "src/test/resources/pom.xml" ); + return getPomFile( "pom.xml" ); } + + protected File getPomFile( String name ) + { + return new File( basedir, "src/test/resources/" + name ); + } + } diff --git a/maven-embedder/src/test/resources/pom-without-dependencies.xml b/maven-embedder/src/test/resources/pom-without-dependencies.xml new file mode 100644 index 0000000000..ad2d6aa309 --- /dev/null +++ b/maven-embedder/src/test/resources/pom-without-dependencies.xml @@ -0,0 +1,30 @@ + + + + 4.0.0 + org.apache.maven + maven-model + Maven Embedder Test Project + 1.0 + Maven Embedder Test Project Without Any Dependencies + + + +