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.Properties;
27
28
29
30
31
32
33
34 public class MavenITmng3877BasedirAlignedModelTest
35 extends AbstractMavenIntegrationTestCase
36 {
37
38 public MavenITmng3877BasedirAlignedModelTest()
39 {
40 super( ALL_MAVEN_VERSIONS );
41 }
42
43
44
45
46 public void testitMNG3877()
47 throws Exception
48 {
49 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3877" );
50
51 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
52 verifier.setAutoclean( false );
53 verifier.deleteDirectory( "target" );
54 verifier.executeGoal( "validate" );
55 verifier.verifyErrorFreeLog();
56 verifier.resetStreams();
57
58 testDir = testDir.getCanonicalFile();
59
60 Properties modelProps = verifier.loadProperties( "target/model.properties" );
61
62 assertPathEquals( testDir, "target", modelProps.getProperty( "project.build.directory" ) );
63
64 assertPathEquals( testDir, "target/classes", modelProps.getProperty( "project.build.outputDirectory" ) );
65
66 assertPathEquals( testDir, "target/test-classes", modelProps.getProperty( "project.build.testOutputDirectory" ) );
67
68 assertPathEquals( testDir, "src/main/java", modelProps.getProperty( "project.build.sourceDirectory" ) );
69 assertPathEquals( testDir, "src/main/java", modelProps.getProperty( "project.compileSourceRoots.0" ) );
70
71 assertPathEquals( testDir, "src/test/java", modelProps.getProperty( "project.build.testSourceDirectory" ) );
72 assertPathEquals( testDir, "src/test/java", modelProps.getProperty( "project.testCompileSourceRoots.0" ) );
73
74 assertPathEquals( testDir, "src/main/resources", modelProps.getProperty( "project.build.resources.0.directory" ) );
75
76 assertPathEquals( testDir, "src/test/resources", modelProps.getProperty( "project.build.testResources.0.directory" ) );
77
78 assertPathEquals( testDir, "src/main/filters/it.properties", modelProps.getProperty( "project.build.filters.0" ) );
79
80
81
82
83
84
85 if ( matchesVersionRange( "[3.0-alpha-3,)" ) )
86 {
87 assertPathEquals( testDir, "target/site", modelProps.getProperty( "project.reporting.outputDirectory" ) );
88 }
89 }
90
91 private void assertPathEquals( File basedir, String expected, String actual )
92 {
93 File actualFile = new File( actual );
94 assertTrue( "path not absolute: " + actualFile, actualFile.isAbsolute() );
95 assertEquals( new File( basedir, expected ), actualFile );
96 }
97
98 }