Index: maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java =================================================================== --- maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java (revision 639967) +++ maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java (working copy) @@ -21,6 +21,7 @@ import org.apache.maven.model.Build; import org.apache.maven.model.Model; +import org.apache.maven.model.Reporting; import org.apache.maven.model.Resource; import java.io.File; @@ -45,6 +46,8 @@ build.setTestSourceDirectory( alignToBaseDirectory( build.getTestSourceDirectory(), basedir ) ); + build.setScriptSourceDirectory( alignToBaseDirectory( build.getScriptSourceDirectory(), basedir ) ); + for ( Iterator i = build.getResources().iterator(); i.hasNext(); ) { Resource resource = (Resource) i.next(); @@ -75,6 +78,13 @@ build.setTestOutputDirectory( alignToBaseDirectory( build.getTestOutputDirectory(), basedir ) ); } + + Reporting reporting = model.getReporting(); + + if ( reporting != null ) + { + reporting.setOutputDirectory( alignToBaseDirectory( reporting.getOutputDirectory(), basedir ) ); + } } public String alignToBaseDirectory( String path, File basedir ) @@ -136,6 +146,8 @@ build.setTestSourceDirectory( unalignFromBaseDirectory( build.getTestSourceDirectory(), basedir ) ); + build.setScriptSourceDirectory( unalignFromBaseDirectory( build.getScriptSourceDirectory(), basedir ) ); + for ( Iterator i = build.getResources().iterator(); i.hasNext(); ) { Resource resource = (Resource) i.next(); @@ -166,6 +178,13 @@ build.setTestOutputDirectory( unalignFromBaseDirectory( build.getTestOutputDirectory(), basedir ) ); } + + Reporting reporting = model.getReporting(); + + if ( reporting != null ) + { + reporting.setOutputDirectory( unalignFromBaseDirectory( reporting.getOutputDirectory(), basedir ) ); + } } public String unalignFromBaseDirectory( String directory, File basedir ) @@ -179,4 +198,3 @@ } } - Index: maven-project/src/test/java/org/apache/maven/project/ProjectBaseDirectoryAlignmentTest.java =================================================================== --- maven-project/src/test/java/org/apache/maven/project/ProjectBaseDirectoryAlignmentTest.java (revision 639967) +++ maven-project/src/test/java/org/apache/maven/project/ProjectBaseDirectoryAlignmentTest.java (working copy) @@ -20,6 +20,7 @@ */ import org.apache.maven.model.Build; +import org.apache.maven.model.Reporting; import org.apache.maven.model.Resource; import java.io.File; @@ -38,18 +39,28 @@ assertNotNull( "Test project can't be null!", project ); - File basedirFile = new File( getBasedir() ); - File sourceDirectoryFile = new File( project.getBuild().getSourceDirectory() ); - File testSourceDirectoryFile = new File( project.getBuild().getTestSourceDirectory() ); + Build build = project.getBuild(); - assertEquals( basedirFile.getCanonicalPath(), sourceDirectoryFile.getCanonicalPath().substring( 0, getBasedir().length() ) ); + assertTrue( new File( build.getDirectory() ).isAbsolute() ); - assertEquals( basedirFile.getCanonicalPath(), testSourceDirectoryFile.getCanonicalPath().substring( 0, getBasedir().length() ) ); + assertTrue( new File( build.getOutputDirectory() ).isAbsolute() ); - Build build = project.getBuild(); + assertTrue( new File( build.getSourceDirectory() ).isAbsolute() ); + assertTrue( new File( build.getTestSourceDirectory() ).isAbsolute() ); + + assertTrue( new File( build.getScriptSourceDirectory() ).isAbsolute() ); + Resource resource = (Resource) build.getResources().get( 0 ); - assertTrue( resource.getDirectory().startsWith( getBasedir() ) ); + assertTrue( new File( resource.getDirectory() ).isAbsolute() ); + + Resource testResource = (Resource) build.getTestResources().get( 0 ); + + assertTrue( new File( testResource.getDirectory() ).isAbsolute() ); + + Reporting reporting = project.getReporting(); + + assertTrue( new File( reporting.getOutputDirectory() ).isAbsolute() ); } } Index: maven-project/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment.xml =================================================================== --- maven-project/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment.xml (revision 639967) +++ maven-project/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment.xml (working copy) @@ -101,8 +101,12 @@ + directory + outputDirectory + testOutputDirectory sourceDirectory unitTestSourceDirectory + scriptSourceDirectory src/test @@ -132,4 +136,7 @@ + + reportOutputDirectory +