David M. Lloyd created SUREFIRE-2210:
----------------------------------------

             Summary: Additional class path ordering broken since 3.2.0
                 Key: SUREFIRE-2210
                 URL: https://issues.apache.org/jira/browse/SUREFIRE-2210
             Project: Maven Surefire
          Issue Type: Bug
    Affects Versions: 3.2.2, 3.2.1
            Reporter: David M. Lloyd


Since commit 
[47eb1974ef2fb77c621e5cb0c47ac10ab8f4753d|https://github.com/apache/maven-surefire/commit/47eb1974ef2fb77c621e5cb0c47ac10ab8f4753d]
 ([#667|https://github.com/apache/maven-surefire/pull/667], SUREFIRE-2179), the 
ordering of the {{additionalClasspathElements}} list configuration property is 
no longer preserved. This breaks testing of multi-release JARs, where the 
directories for newer JDKs *must* be strictly ordered *before* the directories 
for older JDKs.

The problem is likely due to changing the additional class paths collection 
from a `List` to a `Set`, which does not preserve ordering.

One simple fix could be to change the line {{Set<String> 
additionalClasspathElements = new HashSet<>();}} to construct a 
{{LinkedHashSet}} instead.

/cc [~kwin] who wrote the original patch back in June.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to