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