Create the artifacts if project hasn't done it already
git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@568212 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java b/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
index d35f12e..3e5721c 100644
--- a/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
@@ -21,6 +21,7 @@
import java.util.Collections;
import java.util.Map;
+import java.util.Set;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
@@ -29,6 +30,7 @@
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.shared.dependency.tree.traversal.CollectingDependencyNodeVisitor;
/**
@@ -80,7 +82,14 @@
{
Map managedVersions = project.getManagedVersionMap();
- collector.collect( project.getDependencyArtifacts(), project.getArtifact(), managedVersions, repository,
+ Set dependencyArtifacts = project.getDependencyArtifacts();
+
+ if ( dependencyArtifacts == null )
+ {
+ dependencyArtifacts = project.createArtifacts( factory, null, null );
+ }
+
+ collector.collect( dependencyArtifacts, project.getArtifact(), managedVersions, repository,
project.getRemoteArtifactRepositories(), metadataSource, filter,
Collections.singletonList( listener ) );
@@ -90,5 +99,10 @@
{
throw new DependencyTreeBuilderException( "Cannot build project dependency tree", exception );
}
+ catch ( InvalidDependencyVersionException e )
+ {
+ throw new DependencyTreeBuilderException( "Invalid dependency version for artifact "
+ + project.getArtifact() );
+ }
}
}