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 MavenITmng0947OptionalDependencyTest
33 extends AbstractMavenIntegrationTestCase
34 {
35
36 public MavenITmng0947OptionalDependencyTest()
37 {
38 super( ALL_MAVEN_VERSIONS );
39 }
40
41
42
43
44
45
46
47 public void testit()
48 throws Exception
49 {
50 failingMavenVersions( "(,3.1.0-alpha-1)" );
51
52 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0947" );
53
54 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
55 verifier.setAutoclean( false );
56 verifier.deleteDirectory( "target" );
57 verifier.deleteArtifacts( "org.apache.maven.its.mng0947" );
58 verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() );
59 verifier.addCliOption( "--settings" );
60 verifier.addCliOption( "settings.xml" );
61 verifier.executeGoal( "validate" );
62 verifier.verifyErrorFreeLog();
63 verifier.resetStreams();
64
65 List<String> compile = verifier.loadLines( "target/compile.txt", "UTF-8" );
66 assertTrue( compile.toString(), compile.contains( "org.apache.maven.its.mng0947:d:jar:0.1 (optional)" ) );
67 assertTrue( compile.toString(), compile.contains( "org.apache.maven.its.mng0947:e:jar:0.1 (optional)" ) );
68 assertEquals( 2, compile.size() );
69
70 List<String> runtime = verifier.loadLines( "target/runtime.txt", "UTF-8" );
71 assertTrue( runtime.toString(), runtime.contains( "org.apache.maven.its.mng0947:c:jar:0.1" ) );
72 assertTrue( runtime.toString(), runtime.contains( "org.apache.maven.its.mng0947:d:jar:0.1 (optional)" ) );
73 assertTrue( runtime.toString(), runtime.contains( "org.apache.maven.its.mng0947:e:jar:0.1 (optional)" ) );
74 assertEquals( 3, runtime.size() );
75
76 List<String> test = verifier.loadLines( "target/test.txt", "UTF-8" );
77 assertTrue( test.toString(), test.contains( "org.apache.maven.its.mng0947:c:jar:0.1" ) );
78 assertTrue( test.toString(), test.contains( "org.apache.maven.its.mng0947:d:jar:0.1 (optional)" ) );
79 assertTrue( test.toString(), test.contains( "org.apache.maven.its.mng0947:e:jar:0.1 (optional)" ) );
80 assertEquals( 3, test.size() );
81 }
82
83 }