Uploaded image for project: 'Maven Shared Components'
  1. Maven Shared Components
  2. MSHARED-466

Filtering dependencies does not retain the order of the unfiltered list

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • maven-common-artifact-filters-1.4
    • None
    • None

    Description

      If you use the dependency: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.

      Attachments

        Issue Links

          Activity

            People

              khmarbaise Karl Heinz Marbaise
              beirtipol@gmail.com Beirtí Ó'Nunáin
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: