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