You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jeff Maxwell (JIRA)" <ji...@codehaus.org> on 2006/05/18 23:08:41 UTC

[jira] Commented: (MNG-1542) type attribute of artifact:dependencies doesn't work for indirect dependencies

    [ http://jira.codehaus.org/browse/MNG-1542?page=comments#action_65599 ] 

Jeff Maxwell commented on MNG-1542:
-----------------------------------

I have *possible* workaround/fix

In the DefaultArtifactCollector.collect method where the filters are applied.

Here is filter line:
    if (node.filterTrail( filter ) )

I get the expected behavior when I change the line to:
    if (filter.include(artifact)||node.filterTrail( filter ) )

This workaround might cause other problems but it has gotten me passed my issue.

> type attribute of artifact:dependencies doesn't work for indirect dependencies
> ------------------------------------------------------------------------------
>
>          Key: MNG-1542
>          URL: http://jira.codehaus.org/browse/MNG-1542
>      Project: Maven 2
>         Type: Sub-task

>   Components: Ant tasks
>     Versions: 2.0
>     Reporter: Tomislav Bodor
>  Attachments: build.xml, pom.xml
>
>
> It appears that the type filter doesn't work properly with indirect dependencies. It doesn't look like an issue with the TypeArtifactFilter itself, but somewhere deeper. However, it's related to this feature, so here it is...
> The problem manifests with transitive dependencies that are of different type, e.g. a war artefact depends on a jar library. Whatever the type in that case (jar or war), the dependency list returned by artifact:dependencies is empty.
> I've traced through it and here is some more information:
> DefaultArtifactCollector applies the filter using ResolutionNode.filterTrail. This iterates over the (dependency) node trail and applies the specified filter to each dependency in turn. If all dependencies are of the same type and the type matches the one specified in the filter, no problems. However, I've got a dependency that is a war archive and that in turn has some jar dependencies. If type is set to jar, filter fails when testing the first dependency in the trail - the war in this case and never gets to the jar. The result is that whatever the value of the type attribute, the dependency list always ends up empty for trails that contain dependencies of different types.

-- 
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