You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jv...@apache.org on 2003/12/29 20:24:02 UTC
cvs commit: maven-components/maven-project/src/test/org/apache/maven/project/plugins project-which-needs-directory-alignment-child.xml
jvanzyl 2003/12/29 11:24:02
Modified: maven-project/src/java/org/apache/maven/project
DefaultProjectBuilder.java
maven-project/src/test/org/apache/maven/project
DefaultProjectBuilderTest.java
Added: maven-project/src/test/org/apache/maven/project/plugins
project-which-needs-directory-alignment-child.xml
Log:
o added a failing test: inheritance mixed with directory alignment is yielding
incorrect results.
Revision Changes Path
1.26 +17 -5 maven-components/maven-project/src/java/org/apache/maven/project/DefaultProjectBuilder.java
Index: DefaultProjectBuilder.java
===================================================================
RCS file: /home/cvs/maven-components/maven-project/src/java/org/apache/maven/project/DefaultProjectBuilder.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- DefaultProjectBuilder.java 29 Dec 2003 17:49:19 -0000 1.25
+++ DefaultProjectBuilder.java 29 Dec 2003 19:24:02 -0000 1.26
@@ -208,21 +208,21 @@
String s = build.getSourceDirectory();
- if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
+ if ( requiresBaseDirectoryAlignment( s ) )
{
build.setSourceDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
}
s = build.getUnitTestSourceDirectory();
- if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
+ if ( requiresBaseDirectoryAlignment( s ) )
{
build.setUnitTestSourceDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
}
s = build.getAspectSourceDirectory();
- if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
+ if ( requiresBaseDirectoryAlignment( s ) )
{
build.setAspectSourceDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
}
@@ -235,9 +235,11 @@
s = resource.getDirectory();
- if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
+ if ( requiresBaseDirectoryAlignment( s ) )
{
resource.setDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
+
+ System.out.println( "resource.getDirectory() = " + resource.getDirectory() );
}
}
@@ -249,12 +251,22 @@
s = resource.getDirectory();
- if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
+ if ( requiresBaseDirectoryAlignment( s ) )
{
resource.setDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
}
}
}
+ }
+
+ private boolean requiresBaseDirectoryAlignment( String s )
+ {
+ if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
+ {
+ return true;
+ }
+
+ return false;
}
/**
1.26 +20 -0 maven-components/maven-project/src/test/org/apache/maven/project/DefaultProjectBuilderTest.java
Index: DefaultProjectBuilderTest.java
===================================================================
RCS file: /home/cvs/maven-components/maven-project/src/test/org/apache/maven/project/DefaultProjectBuilderTest.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- DefaultProjectBuilderTest.java 29 Dec 2003 17:49:19 -0000 1.25
+++ DefaultProjectBuilderTest.java 29 Dec 2003 19:24:02 -0000 1.26
@@ -326,4 +326,24 @@
assertTrue( resource.getDirectory().startsWith( basedir ) );
}
+
+ public void testProjectDirectoryBaseDirectoryAlignmentInheritanceWithParentOneDirectoryUp()
+ throws Exception
+ {
+ File f = new File( basedir, "src/test/org/apache/maven/project/plugins/project-which-needs-directory-alignment-child.xml" );
+
+ Project project = projectBuilder.build( f );
+
+ assertNotNull( "Test project can't be null!", project );
+
+ assertTrue( project.getBuild().getSourceDirectory().startsWith( basedir ) );
+
+ assertTrue( project.getBuild().getUnitTestSourceDirectory().startsWith( basedir ) );
+
+ Build build = project.getBuild();
+
+ Resource resource = (Resource) build.getResources().get( 0 );
+
+ assertTrue( resource.getDirectory().indexOf( ".." ) < 0 );
+ }
}
1.1 maven-components/maven-project/src/test/org/apache/maven/project/plugins/project-which-needs-directory-alignment-child.xml
Index: project-which-needs-directory-alignment-child.xml
===================================================================
<project>
<extend>../project-which-needs-directory-alignment.xml</extend>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org