Skip to content

Commit 47c5816

Browse files
dmlloydkwin
authored andcommitted
[SUREFIRE-2210] - Restore ordering of additional class path elements
1 parent 9b7ecf1 commit 47c5816

File tree

5 files changed

+32
-2
lines changed

5 files changed

+32
-2
lines changed

Diff for: maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2569,7 +2569,7 @@ private TestClassPath generateTestClasspath() throws MojoFailureException {
25692569

25702570
Map<String, Artifact> dependencyConflictIdsProjectArtifacts = classpathArtifacts.stream()
25712571
.collect(Collectors.toMap(Artifact::getDependencyConflictId, Function.identity()));
2572-
Set<String> additionalClasspathElements = new HashSet<>();
2572+
Set<String> additionalClasspathElements = new LinkedHashSet<>();
25732573
if (getAdditionalClasspathElements() != null) {
25742574
Arrays.stream(getAdditionalClasspathElements()).forEach(additionalClasspathElements::add);
25752575
}

Diff for: surefire-its/src/test/java/org/apache/maven/surefire/its/AdditionalClasspathIT.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
public class AdditionalClasspathIT extends SurefireJUnit4IntegrationTestCase {
3131
@Test
3232
public void additionalClasspathElements() {
33-
unpack("/additional-classpath").executeTest().verifyErrorFree(1);
33+
unpack("/additional-classpath").executeTest().verifyErrorFree(2);
3434
}
3535

3636
@Test
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2

Diff for: surefire-its/src/test/resources/additional-classpath/src/test/java/additionalClasspath/BasicTest.java

+28
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
package additionalClasspath;
22

3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStream;
6+
import java.io.InputStreamReader;
7+
import java.net.URL;
8+
import java.util.Enumeration;
9+
310
import junit.framework.TestCase;
411

512
public class BasicTest
@@ -9,7 +16,28 @@ public class BasicTest
916
public void testExtraResource()
1017
{
1118
assertNotNull( BasicTest.class.getResourceAsStream( "/test.txt" ) );
19+
assertNotNull( getClass().getClassLoader().getResourceAsStream( "test.txt" ) );
1220
assertNotNull( BasicTest.class.getResourceAsStream( "/test2.txt" ) );
21+
assertNotNull( getClass().getClassLoader().getResourceAsStream( "test2.txt" ) );
1322
}
1423

24+
public void testExtraResourceOrder() throws IOException
25+
{
26+
Enumeration<URL> resources = getClass().getClassLoader().getResources("order-test.txt");
27+
assertTrue( resources.hasMoreElements() );
28+
URL url = resources.nextElement();
29+
InputStream is = url.openStream();
30+
assertNotNull( is );
31+
try ( InputStream i = is; InputStreamReader r = new InputStreamReader(is); BufferedReader br = new BufferedReader(r) ) {
32+
assertEquals("1", br.readLine());
33+
}
34+
assertTrue( resources.hasMoreElements() );
35+
url = resources.nextElement();
36+
is = url.openStream();
37+
assertNotNull( is );
38+
try ( InputStream i = is; InputStreamReader r = new InputStreamReader(is); BufferedReader br = new BufferedReader(r) ) {
39+
assertEquals("2", br.readLine());
40+
}
41+
assertFalse( resources.hasMoreElements() );
42+
}
1543
}

0 commit comments

Comments
 (0)