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 18:49:20 UTC
cvs commit: maven-components/maven-project/src/test/org/apache/maven/project project-which-needs-directory-alignment-child.xml project-which-needs-directory-alignment.xml DefaultProjectBuilderTest.java ModelTestHelper.java ProjectTestHelper.java fully-populated-child.xml project.xml
jvanzyl 2003/12/29 09:49:20
Modified: maven-project/src/java/org/apache/maven/project
DefaultProjectBuilder.java
maven-project/src/test/org/apache/maven/project
DefaultProjectBuilderTest.java ModelTestHelper.java
ProjectTestHelper.java fully-populated-child.xml
project.xml
Added: maven-project/src/test/org/apache/maven/project
project-which-needs-directory-alignment-child.xml
project-which-needs-directory-alignment.xml
Log:
o modify the resource directories to align them with the basedir if
necessary.
Revision Changes Path
1.25 +37 -6 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.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- DefaultProjectBuilder.java 29 Dec 2003 16:49:46 -0000 1.24
+++ DefaultProjectBuilder.java 29 Dec 2003 17:49:19 -0000 1.25
@@ -5,6 +5,8 @@
import org.apache.maven.model.ModelMarshaller;
import org.apache.maven.model.ModelUnmarshaller;
import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Build;
+import org.apache.maven.model.Resource;
import org.apache.maven.util.CollectionUtils;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.StringUtils;
@@ -202,26 +204,55 @@
if ( project.getBuild() != null )
{
+ Build build = project.getBuild();
- String s = project.getBuild().getSourceDirectory();
+ String s = build.getSourceDirectory();
if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
{
- project.getBuild().setSourceDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
+ build.setSourceDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
}
- s = project.getBuild().getUnitTestSourceDirectory();
+ s = build.getUnitTestSourceDirectory();
if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
{
- project.getBuild().setUnitTestSourceDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
+ build.setUnitTestSourceDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
}
- s = project.getBuild().getAspectSourceDirectory();
+ s = build.getAspectSourceDirectory();
if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
{
- project.getBuild().setAspectSourceDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
+ build.setAspectSourceDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
+ }
+
+ List buildResources = build.getResources();
+
+ for ( Iterator i = buildResources.iterator(); i.hasNext(); )
+ {
+ Resource resource = (Resource) i.next();
+
+ s = resource.getDirectory();
+
+ if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
+ {
+ resource.setDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
+ }
+ }
+
+ List unitTestResources = build.getResources();
+
+ for ( Iterator i = unitTestResources.iterator(); i.hasNext(); )
+ {
+ Resource resource = (Resource) i.next();
+
+ s = resource.getDirectory();
+
+ if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
+ {
+ resource.setDirectory( new File( project.getFile().getParentFile(), s ).getPath() );
+ }
}
}
}
1.25 +42 -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.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- DefaultProjectBuilderTest.java 29 Dec 2003 16:49:46 -0000 1.24
+++ DefaultProjectBuilderTest.java 29 Dec 2003 17:49:19 -0000 1.25
@@ -4,6 +4,8 @@
import org.codehaus.plexus.util.DirectoryScanner;
import org.codehaus.plexus.util.StringUtils;
import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Build;
+import org.apache.maven.model.Resource;
import java.io.File;
import java.util.List;
@@ -283,5 +285,45 @@
System.out.println( "p = " + p.getArtifactId() );
}
+ }
+
+ public void testProjectDirectoryBaseDirectoryAlignment()
+ throws Exception
+ {
+ File f = new File( basedir, "src/test/org/apache/maven/project/project-which-needs-directory-alignment.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().startsWith( basedir ) );
+ }
+
+ public void testProjectDirectoryBaseDirectoryAlignmentInheritance()
+ throws Exception
+ {
+ File f = new File( basedir, "src/test/org/apache/maven/project/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().startsWith( basedir ) );
}
}
1.3 +5 -7 maven-components/maven-project/src/test/org/apache/maven/project/ModelTestHelper.java
Index: ModelTestHelper.java
===================================================================
RCS file: /home/cvs/maven-components/maven-project/src/test/org/apache/maven/project/ModelTestHelper.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ModelTestHelper.java 28 Dec 2003 23:36:58 -0000 1.2
+++ ModelTestHelper.java 29 Dec 2003 17:49:20 -0000 1.3
@@ -158,11 +158,9 @@
assertEquals( "jason@maven.org", build.getNagEmailAddress() );
- //!!! still need to figure out bidirectional changes in project <--> model.
+ assertEquals( "/sourceDirectory", build.getSourceDirectory() );
- //assertEquals( "sourceDirectory", build.getSourceDirectory() );
-
- //assertEquals( "unitTestSourceDirectory", build.getUnitTestSourceDirectory() );
+ assertEquals( "/unitTestSourceDirectory", build.getUnitTestSourceDirectory() );
UnitTest unitTest = build.getUnitTest();
@@ -178,13 +176,13 @@
Resource resource1 = (Resource) build.getResources().get( 0 );
- assertEquals( "src/conf", resource1.getDirectory() );
+ assertEquals( "/src/conf", resource1.getDirectory() );
assertEquals( "*.xsd", (String) resource1.getIncludes().get( 0 ) );
Resource resource2 = (Resource) build.getResources().get( 1 );
- assertEquals( "src/messages", resource2.getDirectory() );
+ assertEquals( "/src/messages", resource2.getDirectory() );
assertEquals( "org/apache/maven/messages", resource2.getTargetPath() );
1.4 +5 -5 maven-components/maven-project/src/test/org/apache/maven/project/ProjectTestHelper.java
Index: ProjectTestHelper.java
===================================================================
RCS file: /home/cvs/maven-components/maven-project/src/test/org/apache/maven/project/ProjectTestHelper.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ProjectTestHelper.java 28 Dec 2003 23:36:58 -0000 1.3
+++ ProjectTestHelper.java 29 Dec 2003 17:49:20 -0000 1.4
@@ -157,9 +157,9 @@
assertEquals( "jason@maven.org", build.getNagEmailAddress() );
- //assertEquals( "sourceDirectory", build.getSourceDirectory() );
+ assertEquals( "/sourceDirectory", build.getSourceDirectory() );
- //assertEquals( "unitTestSourceDirectory", build.getUnitTestSourceDirectory() );
+ assertEquals( "/unitTestSourceDirectory", build.getUnitTestSourceDirectory() );
UnitTest unitTest = build.getUnitTest();
@@ -173,13 +173,13 @@
Resource resource1 = (Resource) build.getResources().get( 0 );
- assertEquals( "src/conf", resource1.getDirectory() );
+ assertEquals( "/src/conf", resource1.getDirectory() );
assertEquals( "*.xsd", (String) resource1.getIncludes().get( 0 ) );
Resource resource2 = (Resource) build.getResources().get( 1 );
- assertEquals( "src/messages", resource2.getDirectory() );
+ assertEquals( "/src/messages", resource2.getDirectory() );
assertEquals( "org/apache/maven/messages", resource2.getTargetPath() );
1.3 +4 -4 maven-components/maven-project/src/test/org/apache/maven/project/fully-populated-child.xml
Index: fully-populated-child.xml
===================================================================
RCS file: /home/cvs/maven-components/maven-project/src/test/org/apache/maven/project/fully-populated-child.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- fully-populated-child.xml 8 Dec 2003 22:14:57 -0000 1.2
+++ fully-populated-child.xml 29 Dec 2003 17:49:20 -0000 1.3
@@ -92,8 +92,8 @@
<build>
<nagEmailAddress>jason@maven.org</nagEmailAddress>
- <sourceDirectory>sourceDirectory</sourceDirectory>
- <unitTestSourceDirectory>unitTestSourceDirectory</unitTestSourceDirectory>
+ <sourceDirectory>/sourceDirectory</sourceDirectory>
+ <unitTestSourceDirectory>/unitTestSourceDirectory</unitTestSourceDirectory>
<unitTest>
<includes>
<include>**/*Test.java</include>
@@ -113,7 +113,7 @@
</unitTest>
<resources>
<resource>
- <directory>src/conf</directory>
+ <directory>/src/conf</directory>
<includes>
<include>*.xsd</include>
<include>*.dtd</include>
@@ -124,7 +124,7 @@
</includes>
</resource>
<resource>
- <directory>src/messages</directory>
+ <directory>/src/messages</directory>
<targetPath>org/apache/maven/messages</targetPath>
<includes>
<include>messages*.properties</include>
1.4 +4 -4 maven-components/maven-project/src/test/org/apache/maven/project/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/maven-components/maven-project/src/test/org/apache/maven/project/project.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- project.xml 8 Dec 2003 22:14:57 -0000 1.3
+++ project.xml 29 Dec 2003 17:49:20 -0000 1.4
@@ -91,8 +91,8 @@
<build>
<nagEmailAddress>jason@maven.org</nagEmailAddress>
- <sourceDirectory>sourceDirectory</sourceDirectory>
- <unitTestSourceDirectory>unitTestSourceDirectory</unitTestSourceDirectory>
+ <sourceDirectory>/sourceDirectory</sourceDirectory>
+ <unitTestSourceDirectory>/unitTestSourceDirectory</unitTestSourceDirectory>
<unitTest>
<includes>
<include>**/*Test.java</include>
@@ -112,7 +112,7 @@
</unitTest>
<resources>
<resource>
- <directory>src/conf</directory>
+ <directory>/src/conf</directory>
<includes>
<include>*.xsd</include>
<include>*.dtd</include>
@@ -123,7 +123,7 @@
</includes>
</resource>
<resource>
- <directory>src/messages</directory>
+ <directory>/src/messages</directory>
<targetPath>org/apache/maven/messages</targetPath>
<includes>
<include>messages*.properties</include>
1.1 maven-components/maven-project/src/test/org/apache/maven/project/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>
1.1 maven-components/maven-project/src/test/org/apache/maven/project/project-which-needs-directory-alignment.xml
Index: project-which-needs-directory-alignment.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>3</modelVersion>
<groupId>maven</groupId>
<artifactId>maven</artifactId>
<name>Maven</name>
<version>1.0-beta-9</version>
<inceptionYear>2001</inceptionYear>
<package>org.apache.maven</package>
<description>Description</description>
<shortDescription>shortDescription</shortDescription>
<url>http://maven.apache.org/</url>
<issueTrackingUrl>issueTrackingUrl</issueTrackingUrl>
<siteAddress>maven.apache.org</siteAddress>
<siteDirectory>/www/maven.apache.org/</siteDirectory>
<distributionDirectory>/www/maven.apache.org/builds/</distributionDirectory>
<organization>
<name>Apache Software Foundation</name>
<url>http://apache.org/</url>
<logo>/images/jakarta-logo-blue.gif</logo>
</organization>
<repository>
<connection>anon-connection</connection>
<developerConnection>developer-connection</developerConnection>
<url>repository-url</url>
</repository>
<versions>
<version>
<id>b1</id>
<name>1.0-b1</name>
<tag>MAVEN_1_0_B1</tag>
</version>
</versions>
<branches>
<branch>
<tag>tag</tag>
</branch>
</branches>
<mailingLists>
<mailingList>
<name>Maven User List</name>
<subscribe>subscribe</subscribe>
<unsubscribe>unsubscribe</unsubscribe>
<archive>archive</archive>
</mailingList>
</mailingLists>
<developers>
<developer>
<name>Jason van Zyl</name>
<id>jvanzyl</id>
<email>jason@maven.org</email>
<organization>Zenplex</organization>
<roles>
<role>Founder</role>
<role>Release Manager</role>
</roles>
</developer>
</developers>
<contributors>
<contributor>
<name>Martin van dem Bemt</name>
<email>mvdb@mvdb.com</email>
</contributor>
</contributors>
<dependencies>
<dependency>
<groupId>g1</groupId>
<artifactId>d1</artifactId>
<version>1.0</version>
<url>d1-url</url>
</dependency>
<dependency>
<groupId>g2</groupId>
<artifactId>d2</artifactId>
<version>2.0</version>
<url>d2-url</url>
</dependency>
</dependencies>
<build>
<nagEmailAddress>jason@maven.org</nagEmailAddress>
<sourceDirectory>sourceDirectory</sourceDirectory>
<unitTestSourceDirectory>unitTestSourceDirectory</unitTestSourceDirectory>
<unitTest>
<includes>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/RepositoryTest.java</exclude>
<exclude>**/JAXPTest.java</exclude>
</excludes>
<resources>
<resource>
<directory>src/test</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</unitTest>
<resources>
<resource>
<directory>src/conf</directory>
<includes>
<include>*.xsd</include>
<include>*.dtd</include>
<include>*.mod</include>
<include>log4j.properties</include>
<include>driver.jelly</include>
<include>driver.properties</include>
</includes>
</resource>
<resource>
<directory>src/messages</directory>
<targetPath>org/apache/maven/messages</targetPath>
<includes>
<include>messages*.properties</include>
</includes>
</resource>
</resources>
</build>
<reports>
<report>maven-jdepend-plugin</report>
<report>maven-checkstyle-plugin</report>
<report>maven-changelog-plugin</report>
<report>maven-file-activity-plugin</report>
<report>maven-developer-activity-plugin</report>
<report>maven-javadoc-plugin</report>
<report>maven-jxr-plugin</report>
<report>maven-junit-report-plugin</report>
<report>maven-tasklist-plugin</report>
<report>maven-jellydoc-plugin</report>
</reports>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org