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