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