You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Beirtí Ó'Nunáin (JIRA)" <ji...@apache.org> on 2018/01/10 10:22:00 UTC

[jira] [Commented] (MDEP-501) Filtering dependencies does not retain the order of the unfiltered list

    [ https://issues.apache.org/jira/browse/MDEP-501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16320005#comment-16320005 ] 

Beirtí Ó'Nunáin commented on MDEP-501:
--------------------------------------

[~michael-o], [~erling.johan.andersen@gmail.com]

I just checked out the source of 3.0.1 and it looks like a LinkedHashSet is used now. Can someone mark this issue resolved please?

> Filtering dependencies does not retain the order of the unfiltered list
> -----------------------------------------------------------------------
>
>                 Key: MDEP-501
>                 URL: https://issues.apache.org/jira/browse/MDEP-501
>             Project: Maven Dependency Plugin
>          Issue Type: Bug
>    Affects Versions: 2.10
>            Reporter: Beirtí Ó'Nunáin
>         Attachments: build-classpath-preserve-order.patch
>
>
> If you use the build-classpath mojo, you get the dependency list as specified in the pom. However, if you introduce filtering, you end up losing the dependency order. It seems that the org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter declares 'Set' instead of 'SortedSet' and that the org.apache.maven.shared.artifact.filter.collection.AbstractArtifactFeatureFilter returns a HashSet instead of a LinkedHashSet, even though a LinkedHashSet is being passed in.
> The impact of this is that you cannot generate a correctly-ordered classpath when using filters. The fix is very straightforward, simply change the filterIncludes and filterExcludes methods of AbstractArtifactFeatureFilter to use a LinkedHashSet.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)