1 package org.apache.maven.it;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.it.util.ResourceExtractor;
23
24 import java.io.File;
25 import java.util.List;
26
27
28
29
30
31
32 public class MavenITmng4768NearestMatchConflictResolutionTest
33 extends AbstractMavenIntegrationTestCase
34 {
35
36 public MavenITmng4768NearestMatchConflictResolutionTest()
37 {
38 super( "[2.0.9,)" );
39 }
40
41
42
43 public void testitABD()
44 throws Exception
45 {
46 testit( "test-abd" );
47 }
48
49 public void testitADB()
50 throws Exception
51 {
52 requiresMavenVersion( "[3.0-beta-3,)" );
53 testit( "test-adb" );
54 }
55
56 public void testitBAD()
57 throws Exception
58 {
59 testit( "test-bad" );
60 }
61
62 public void testitBDA()
63 throws Exception
64 {
65 testit( "test-bda" );
66 }
67
68 public void testitDAB()
69 throws Exception
70 {
71 requiresMavenVersion( "[3.0-beta-3,)" );
72 testit( "test-dab" );
73 }
74
75 public void testitDBA()
76 throws Exception
77 {
78 testit( "test-dba" );
79 }
80
81
82
83
84
85
86 private void testit( String test )
87 throws Exception
88 {
89 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4768" );
90
91 Verifier verifier = newVerifier( new File( testDir, test ).getAbsolutePath() );
92 verifier.setAutoclean( false );
93 verifier.deleteDirectory( "target" );
94 verifier.deleteArtifacts( "org.apache.maven.its.mng4768" );
95 verifier.addCliOption( "-s" );
96 verifier.addCliOption( "settings.xml" );
97 verifier.filterFile( "../settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() );
98 verifier.executeGoal( "validate" );
99 verifier.verifyErrorFreeLog();
100 verifier.resetStreams();
101
102 List<String> classpath = verifier.loadLines( "target/classpath.txt", "UTF-8" );
103
104 assertTrue( test + " > " + classpath.toString(), classpath.contains( "a-2.0.jar" ) );
105 assertTrue( test + " > " + classpath.toString(), classpath.contains( "b-0.1.jar" ) );
106 assertTrue( test + " > " + classpath.toString(), classpath.contains( "c-0.1.jar" ) );
107 assertTrue( test + " > " + classpath.toString(), classpath.contains( "d-0.1.jar" ) );
108
109 assertFalse( test + " > " + classpath.toString(), classpath.contains( "a-2.1.jar" ) );
110 assertFalse( test + " > " + classpath.toString(), classpath.contains( "a-1.0.jar" ) );
111 }
112
113 }