Fix bug when an updateScopeCurrentPom event is received prior to an includeArtifact
git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@568210 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.java b/src/main/java/org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.java
index 061d7ca..650ac8b 100644
--- a/src/main/java/org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.java
+++ b/src/main/java/org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.java
@@ -276,16 +276,18 @@
* @see org.apache.maven.artifact.resolver.ResolutionListener#updateScopeCurrentPom(org.apache.maven.artifact.Artifact,
* java.lang.String)
*/
- public void updateScopeCurrentPom( Artifact artifact, String scope )
+ public void updateScopeCurrentPom( Artifact artifact, String scopeIgnored )
{
DependencyNode node = getNode( artifact );
if ( node == null )
{
- throw new IllegalStateException( "Cannot find dependency node for artifact " + artifact );
+ // updateScopeCurrentPom events can be received prior to includeArtifact events
+ node = addNode( artifact );
+ // TODO remove the node that tried to impose its scope and add some info
}
-
- node.setFailedUpdateScope( scope );
+
+ node.setFailedUpdateScope( scopeIgnored );
}
/*
@@ -349,8 +351,6 @@
}
}
- // public methods ---------------------------------------------------------
-
/**
* Gets a list of all dependency nodes in the computed dependency tree.
*
@@ -403,7 +403,7 @@
* the attached artifact for the new dependency node
* @return the new dependency node
*/
- private DependencyNode addNode( Artifact artifact )
+ DependencyNode addNode( Artifact artifact )
{
DependencyNode node = createNode( artifact );