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 import java.util.Properties;
28
29
30
31
32
33
34 public class MavenITmng4600DependencyOptionalFlagManagementTest
35 extends AbstractMavenIntegrationTestCase
36 {
37
38 public MavenITmng4600DependencyOptionalFlagManagementTest()
39 {
40 super( "[2.0.3,3.0-alpha-1),[3.0-beta-1,)" );
41 }
42
43
44
45
46
47 public void testitModel()
48 throws Exception
49 {
50 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4600/model" );
51
52 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
53 verifier.setAutoclean( false );
54 verifier.deleteDirectory( "target" );
55 verifier.executeGoal( "validate" );
56 verifier.verifyErrorFreeLog();
57 verifier.resetStreams();
58
59 Properties props = verifier.loadProperties( "target/pom.properties" );
60 assertEquals( "dep", props.getProperty( "project.dependencies.0.artifactId" ) );
61 assertEquals( "false", props.getProperty( "project.dependencies.0.optional" ) );
62 }
63
64
65
66
67
68 public void testitResolution()
69 throws Exception
70 {
71 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4600/resolution" );
72
73 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
74 verifier.setAutoclean( false );
75 verifier.deleteDirectory( "target" );
76 verifier.deleteArtifacts( "org.apache.maven.its.mng4600" );
77 verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() );
78 verifier.getCliOptions().add( "--settings" );
79 verifier.getCliOptions().add( "settings.xml" );
80 verifier.executeGoal( "validate" );
81 verifier.verifyErrorFreeLog();
82 verifier.resetStreams();
83
84 List classpath = verifier.loadLines( "target/classpath.txt", "UTF-8" );
85 assertTrue( classpath.toString(), classpath.contains( "direct-0.2.jar" ) );
86 assertTrue( classpath.toString(), classpath.contains( "transitive-0.1.jar" ) );
87 }
88
89 }