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.Properties;
26
27
28
29
30
31
32
33 public class MavenITmng4318ProjectExecutionRootTest
34 extends AbstractMavenIntegrationTestCase
35 {
36
37 public MavenITmng4318ProjectExecutionRootTest()
38 {
39 super( "[2.0.4,3.0-alpha-1),[3.0.3,)" );
40 }
41
42
43
44
45
46
47 public void testit()
48 throws Exception
49 {
50 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4318" );
51
52 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
53 verifier.setAutoclean( false );
54 verifier.deleteDirectory( "target" );
55 verifier.deleteDirectory( "sub-1/target" );
56 verifier.deleteDirectory( "sub-2/target" );
57 verifier.deleteDirectory( "sub-2/sub-3/target" );
58 verifier.executeGoal( "validate" );
59 verifier.verifyErrorFreeLog();
60 verifier.resetStreams();
61
62 Properties props;
63
64 props = verifier.loadProperties( "target/project.properties" );
65 assertEquals( "true", props.getProperty( "project.executionRoot" ) );
66
67 props = verifier.loadProperties( "sub-1/target/project.properties" );
68 assertEquals( "false", props.getProperty( "project.executionRoot" ) );
69 assertEquals( "true", props.getProperty( "project.parent.executionRoot" ) );
70
71 props = verifier.loadProperties( "sub-2/target/project.properties" );
72 assertEquals( "false", props.getProperty( "project.executionRoot" ) );
73 assertEquals( "true", props.getProperty( "project.parent.executionRoot" ) );
74
75 props = verifier.loadProperties( "sub-2/sub-3/target/project.properties" );
76 assertEquals( "false", props.getProperty( "project.executionRoot" ) );
77 assertEquals( "false", props.getProperty( "project.parent.executionRoot" ) );
78 assertEquals( "true", props.getProperty( "project.parent.parent.executionRoot" ) );
79 }
80
81 }