You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Alexander Kudrevatykh (JIRA)" <ji...@codehaus.org> on 2014/03/19 20:48:59 UTC

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

    [ https://jira.codehaus.org/browse/MNG-4831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=343280#comment-343280 ] 

Alexander Kudrevatykh commented on MNG-4831:
--------------------------------------------

may be we should reopen this issue, because it have attached simple example?

> artifact.getDependencyTrail() doesn't include full information; causes problems filtering artifacts by transitive dependency trail
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-4831
>                 URL: https://jira.codehaus.org/browse/MNG-4831
>             Project: Maven 2 & 3
>          Issue Type: Improvement
>          Components: Artifacts and Repositories
>    Affects Versions: 2.2.1, 3.0-beta-3
>            Reporter: John Casey
>         Attachments: maven-bug-simulation-MNG-4831.zip
>
>
> 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 was sent by Atlassian JIRA
(v6.1.6#6162)