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
35 public class MavenITmng4199CompileMeetsRuntimeScopeTest
36 extends AbstractMavenIntegrationTestCase
37 {
38
39
40
41
42
43 public MavenITmng4199CompileMeetsRuntimeScopeTest()
44 {
45 super( ALL_MAVEN_VERSIONS );
46 }
47
48
49
50
51
52
53 public void testit()
54 throws Exception
55 {
56 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4199" );
57
58 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
59 verifier.setAutoclean( false );
60 verifier.deleteDirectory( "target" );
61 verifier.deleteArtifacts( "org.apache.maven.its.mng4199" );
62 Properties filterProps = verifier.newDefaultFilterProperties();
63 verifier.filterFile( "pom-template.xml", "pom.xml", "UTF-8", filterProps );
64 verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", filterProps );
65 verifier.getCliOptions().add( "--settings" );
66 verifier.getCliOptions().add( "settings.xml" );
67 verifier.executeGoal( "validate" );
68 verifier.verifyErrorFreeLog();
69 verifier.resetStreams();
70
71 List compileArtifacts = verifier.loadLines( "target/compile-artifacts.txt", "UTF-8" );
72 assertTrue( compileArtifacts.toString(), compileArtifacts.contains( "org.apache.maven.its.mng4199:system:jar:0.1" ) );
73 assertTrue( compileArtifacts.toString(), compileArtifacts.contains( "org.apache.maven.its.mng4199:provided:jar:0.1" ) );
74 assertTrue( compileArtifacts.toString(), compileArtifacts.contains( "org.apache.maven.its.mng4199:compile:jar:0.1" ) );
75 assertFalse( compileArtifacts.toString(), compileArtifacts.contains( "org.apache.maven.its.mng4199:runtime:jar:0.1" ) );
76 assertEquals( 3, compileArtifacts.size() );
77
78 List compileClassPath = verifier.loadLines( "target/compile-cp.txt", "UTF-8" );
79 assertTrue( compileClassPath.toString(), compileClassPath.contains( "system-0.1.jar" ) );
80 assertTrue( compileClassPath.toString(), compileClassPath.contains( "provided-0.1.jar" ) );
81 assertTrue( compileClassPath.toString(), compileClassPath.contains( "compile-0.1.jar" ) );
82 assertFalse( compileClassPath.toString(), compileClassPath.contains( "runtime-0.1.jar" ) );
83 assertEquals( 4, compileClassPath.size() );
84
85 List runtimeArtifacts = verifier.loadLines( "target/runtime-artifacts.txt", "UTF-8" );
86 assertFalse( runtimeArtifacts.toString(), runtimeArtifacts.contains( "org.apache.maven.its.mng4199:system:jar:0.1" ) );
87 assertFalse( runtimeArtifacts.toString(), runtimeArtifacts.contains( "org.apache.maven.its.mng4199:provided:jar:0.1" ) );
88 assertTrue( runtimeArtifacts.toString(), runtimeArtifacts.contains( "org.apache.maven.its.mng4199:compile:jar:0.1" ) );
89 assertTrue( runtimeArtifacts.toString(), runtimeArtifacts.contains( "org.apache.maven.its.mng4199:runtime:jar:0.1" ) );
90 assertEquals( 2, runtimeArtifacts.size() );
91
92 List runtimeClassPath = verifier.loadLines( "target/runtime-cp.txt", "UTF-8" );
93 assertFalse( runtimeClassPath.toString(), runtimeClassPath.contains( "system-0.1.jar" ) );
94 assertFalse( runtimeClassPath.toString(), runtimeClassPath.contains( "provided-0.1.jar" ) );
95 assertTrue( runtimeClassPath.toString(), runtimeClassPath.contains( "compile-0.1.jar" ) );
96 assertTrue( runtimeClassPath.toString(), runtimeClassPath.contains( "runtime-0.1.jar" ) );
97 assertEquals( 3, runtimeClassPath.size() );
98 }
99
100 }