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