[ 
https://issues.apache.org/jira/browse/MDEP-501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Erling Johan Andersen updated MDEP-501:
---------------------------------------
    Attachment: build-classpath-preserve-order.patch

The attached patch fixes the ordering issue for both filtering and classifier 
translation, and includes some test cases. No changes are needed in the common 
artifact filters project.

> 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.3.4#6332)

Reply via email to