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.io.IOException;
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
47
48 public void testitMNG3877()
49 throws Exception
50 {
51 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3877" );
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 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 throws IOException
93 {
94 File actualFile = new File( actual );
95 assertTrue( "path not absolute: " + actualFile, actualFile.isAbsolute() );
96 assertCanonicalFileEquals( new File( basedir, expected ), actualFile );
97 }
98
99 }