artifact.getDependencyTrail() doesn't include full information; causes problems 
filtering artifacts by transitive dependency trail
----------------------------------------------------------------------------------------------------------------------------------

                 Key: MNG-4831
                 URL: http://jira.codehaus.org/browse/MNG-4831
             Project: Maven 2 & 3
          Issue Type: Improvement
          Components: Artifacts and Repositories
    Affects Versions: 3.0-beta-3, 2.2.1
            Reporter: John Casey


Artifact.getDependencyTrail() is a List, not a graph. This means the artifact 
doesn't include information about every artifact that depends on that artifact.

In cases where the project's artifacts are filtered using the dependency trail, 
it can become impossible to capture the full dependency closure for an included 
artifact if that artifact depends on something that an excluded artifact also 
depends on.

For a concrete example / test case of this, see MASSEMBLY-504. 

In this example, A and B both depend on C. However, the dependencySet 
_excludes_ B from the assembly. By luck of the draw, profile dependencies are 
appended to the project's other dependencies, and B is in the dependencyTrail 
of C, not A (both are valid to be there). Since transitive filtering is 
enabled, C is _excluded_ from the assembly along with B, and the classpath for 
A is not fully represented.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to