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/08 22:23:48 UTC

cvs commit: maven-components/maven-project/src/test/org/apache/maven/project fully-populated-child.xml DefaultProjectBuilderTest.java project.properties

jvanzyl     2003/12/08 13:23:48

  Modified:    maven-project/src/java/org/apache/maven/project
                        DefaultProjectBuilder.java Project.java
               maven-project/src/test/org/apache/maven/project
                        DefaultProjectBuilderTest.java project.properties
  Added:       maven-project/src/test/org/apache/maven/project
                        fully-populated-child.xml
  Log:
  o add some more tests for inheritance.
  o coverage up to 70%
  
  Revision  Changes    Path
  1.14      +0 -2      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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- DefaultProjectBuilder.java	8 Dec 2003 21:22:41 -0000	1.13
  +++ DefaultProjectBuilder.java	8 Dec 2003 21:23:48 -0000	1.14
  @@ -289,8 +289,6 @@
               child.setReports( parent.getReports() );
           }
   
  -        System.out.println( "child.getBuild() = " + child.getBuild() );
  -
           // Build
           if ( child.getBuild() == null )
           {
  
  
  
  1.11      +6 -1      maven-components/maven-project/src/java/org/apache/maven/project/Project.java
  
  Index: Project.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-project/src/java/org/apache/maven/project/Project.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Project.java	8 Dec 2003 18:27:50 -0000	1.10
  +++ Project.java	8 Dec 2003 21:23:48 -0000	1.11
  @@ -547,5 +547,10 @@
       {
           this.properties = properties;
       }
  +
  +    public String getProperty( String key )
  +    {
  +        return (String) properties.get( key );
  +    }
   }
   
  
  
  
  1.8       +117 -49   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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DefaultProjectBuilderTest.java	8 Dec 2003 04:52:10 -0000	1.7
  +++ DefaultProjectBuilderTest.java	8 Dec 2003 21:23:48 -0000	1.8
  @@ -22,9 +22,6 @@
       /** Project builder. */
       private ProjectBuilder projectBuilder;
   
  -    /** Project. */
  -    private Project project;
  -
       /**
        *
        * @param testName
  @@ -34,10 +31,6 @@
           super( testName );
       }
   
  -    /**
  -     *
  -     * @throws Exception
  -     */
       public void setUp()
           throws Exception
       {
  @@ -50,10 +43,6 @@
           assertNotNull( "Test projectBuilder can't be null!", projectBuilder );
       }
   
  -    /**
  -     *
  -     * @throws Exception
  -     */
       public void testModelMapping()
           throws Exception
       {
  @@ -61,9 +50,43 @@
   
           assertTrue( "Test project.xml file doesn't exist!", f.exists() );
   
  -        project = projectBuilder.build( f );
  +        Project project = projectBuilder.build( f );
  +
  +        testModelMapping( project.getModel() );
  +
  +        assertEquals( "foo", project.getProperty( "maven.final.name" ) );
  +    }
  +
  +    public void testModelInheritanceWhereChildInheritsEverything()
  +        throws Exception
  +    {
  +        File f = new File( basedir, "src/test/org/apache/maven/project/child.xml" );
  +
  +        assertTrue( "Test child.xml file doesn't exist!", f.exists() );
  +
  +        Project project = projectBuilder.build( f );
  +
  +        assertNotNull( "Test project can't be null!", project );
  +
  +        testModelMapping( project.getModel() );
  +
  +        testProjectFieldRetrieval( project );
  +    }
  +
  +    public void testModelInheritanceWhereChildInheritsNothing()
  +        throws Exception
  +    {
  +        File f = new File( basedir, "src/test/org/apache/maven/project/fully-populated-child.xml" );
  +
  +        assertTrue( "Test fully-populated-child.xml file doesn't exist!", f.exists() );
  +
  +        Project project = projectBuilder.build( f );
  +
  +        assertNotNull( "Test project can't be null!", project );
   
           testModelMapping( project.getModel() );
  +
  +        testProjectFieldRetrieval( project );
       }
   
       public void testModelMapping( Model model )
  @@ -78,15 +101,25 @@
           assertEquals( "maven", model.getGroupId() );
   
           assertEquals( "Maven", model.getName() );
  +
           assertEquals( "1.0-beta-9", model.getVersion() );
  +
           assertEquals( "2001", model.getInceptionYear() );
  +
           assertEquals( "org.apache.maven", model.getPackage() );
  +
           assertEquals( "Description", model.getDescription() );
  +
           assertEquals( "shortDescription", model.getShortDescription() );
  +
           assertEquals( "http://maven.apache.org/", model.getUrl() );
  +
           assertEquals( "issueTrackingUrl", model.getIssueTrackingUrl() );
  +
           assertEquals( "maven.apache.org", model.getSiteAddress() );
  +
           assertEquals( "/www/maven.apache.org/", model.getSiteDirectory() );
  +
           assertEquals( "/www/maven.apache.org/builds/", model.getDistributionDirectory() );
   
           // ----------------------------------------------------------------------
  @@ -94,7 +127,9 @@
           // ----------------------------------------------------------------------
   
           assertEquals( "Apache Software Foundation", model.getOrganization().getName() );
  +
           assertEquals( "http://apache.org/", model.getOrganization().getUrl() );
  +
           assertEquals( "/images/jakarta-logo-blue.gif", model.getOrganization().getLogo() );
   
           // ----------------------------------------------------------------------
  @@ -102,7 +137,9 @@
           // ----------------------------------------------------------------------
   
           assertEquals( "anon-connection", model.getRepository().getConnection() );
  +
           assertEquals( "developer-connection", model.getRepository().getDeveloperConnection() );
  +
           assertEquals( "repository-url", model.getRepository().getUrl() );
   
           // ----------------------------------------------------------------------
  @@ -112,7 +149,9 @@
           Version v = (Version) model.getVersions().get( 0 );
   
           assertEquals( "b1", v.getId() );
  +
           assertEquals( "1.0-b1", v.getName() );
  +
           assertEquals( "MAVEN_1_0_B1", v.getTag() );
   
           // ----------------------------------------------------------------------
  @@ -122,8 +161,11 @@
           MailingList ml = (MailingList) model.getMailingLists().get( 0 );
   
           assertEquals( "Maven User List", ml.getName() );
  +
           assertEquals( "subscribe", ml.getSubscribe() );
  +
           assertEquals( "unsubscribe", ml.getUnsubscribe() );
  +
           assertEquals( "archive", ml.getArchive() );
   
           // ----------------------------------------------------------------------
  @@ -133,9 +175,13 @@
           Developer d = (Developer) model.getDevelopers().get( 0 );
   
           assertEquals( "Jason van Zyl", d.getName() );
  +
           assertEquals( "jvanzyl", d.getId() );
  +
           assertEquals( "jason@maven.org", d.getEmail() );
  +
           assertEquals( "Zenplex", d.getOrganization() );
  +
           assertEquals( "Founder", (String) d.getRoles().first() );
   
           // ----------------------------------------------------------------------
  @@ -145,6 +191,7 @@
           Contributor c = (Contributor) model.getContributors().get( 0 );
   
           assertEquals( "Martin van dem Bemt", c.getName() );
  +
           assertEquals( "mvdb@mvdb.com", c.getEmail() );
   
           // ----------------------------------------------------------------------
  @@ -152,15 +199,23 @@
           // ----------------------------------------------------------------------
   
           Dependency dep = (Dependency) model.getDependencies().get( 0 );
  +
           assertEquals( "g1", dep.getGroupId() );
  +
           assertEquals( "d1", dep.getArtifactId() );
  +
           assertEquals( "1.0", dep.getVersion() );
  +
           assertEquals( "d1-url", dep.getUrl() );
   
           Dependency dep2 = (Dependency) model.getDependencies().get( 1 );
  +
           assertEquals( "g2", dep2.getGroupId() );
  +
           assertEquals( "d2", dep2.getArtifactId() );
  +
           assertEquals( "2.0", dep2.getVersion() );
  +
           assertEquals( "d2-url", dep2.getUrl() );
   
           // ----------------------------------------------------------------------
  @@ -170,27 +225,35 @@
           Build build = model.getBuild();
   
           assertEquals( "jason@maven.org", build.getNagEmailAddress() );
  +
           assertEquals( "sourceDirectory", build.getSourceDirectory() );
  +
           assertEquals( "unitTestSourceDirectory", build.getUnitTestSourceDirectory() );
   
           UnitTest unitTest = build.getUnitTest();
   
           assertEquals( "**/*Test.java", (String) unitTest.getIncludes().get( 0 ) );
  +
           assertEquals( "**/RepositoryTest.java", (String) unitTest.getExcludes().get( 0 ) );
   
           Resource resource0 = (Resource) unitTest.getResources().get( 0 );
  +
           assertEquals( "${basedir}/src/test", resource0.getDirectory() );
  +
           assertEquals( "**/*.xml", (String) resource0.getIncludes().get( 0 ) );
   
           Resource resource1 = (Resource) build.getResources().get( 0 );
   
           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( "org/apache/maven/messages", resource2.getTargetPath() );
  +
           assertEquals( "messages*.properties", (String) resource2.getIncludes().get( 0 ) );
   
           // ----------------------------------------------------------------------
  @@ -198,50 +261,41 @@
           // ----------------------------------------------------------------------
   
           assertEquals( "maven-jdepend-plugin", model.getReports().get( 0 ) );
  -        assertEquals( "maven-checkstyle-plugin", model.getReports().get( 1 ) );
  -    }
  -
  -
  -    public void testModelInheritanceWhereChildInheritsEverything()
  -        throws Exception
  -    {
  -        File f = new File( basedir, "src/test/org/apache/maven/project/child.xml" );
   
  -        assertTrue( "Test child.xml file doesn't exist!", f.exists() );
  -
  -        project = projectBuilder.build( f );
  -
  -        assertNotNull( "Test project can't be null!", project );
  -
  -        testModelMapping( project.getModel() );
  +        assertEquals( "maven-checkstyle-plugin", model.getReports().get( 1 ) );
       }
   
  -    public void testProjectFieldRetrieval()
  +    public void testProjectFieldRetrieval( Project project )
           throws Exception
       {
  -        File f = new File( basedir, "src/test/org/apache/maven/project/project.xml" );
  -
  -        assertTrue( "Test project.xml file doesn't exist!", f.exists() );
  -
  -        project = projectBuilder.build( f );
  -
           // ----------------------------------------------------------------------
           // Top-level elements
           // ----------------------------------------------------------------------
   
           assertEquals( "3", project.getPomVersion() );
  +
           assertEquals( "maven", project.getGroupId() );
   
           assertEquals( "Maven", project.getName() );
  +
           assertEquals( "1.0-beta-9", project.getVersion() );
  +
           assertEquals( "2001", project.getInceptionYear() );
  +
           assertEquals( "org.apache.maven", project.getPackage() );
  +
           assertEquals( "Description", project.getDescription() );
  +
           assertEquals( "shortDescription", project.getShortDescription() );
  +
           assertEquals( "http://maven.apache.org/", project.getUrl() );
  +
           assertEquals( "issueTrackingUrl", project.getIssueTrackingUrl() );
  +
           assertEquals( "maven.apache.org", project.getSiteAddress() );
  +
           assertEquals( "/www/maven.apache.org/", project.getSiteDirectory() );
  +
           assertEquals( "/www/maven.apache.org/builds/", project.getDistributionDirectory() );
   
           // ----------------------------------------------------------------------
  @@ -249,7 +303,9 @@
           // ----------------------------------------------------------------------
   
           assertEquals( "Apache Software Foundation", project.getOrganization().getName() );
  +
           assertEquals( "http://apache.org/", project.getOrganization().getUrl() );
  +
           assertEquals( "/images/jakarta-logo-blue.gif", project.getOrganization().getLogo() );
   
           // ----------------------------------------------------------------------
  @@ -257,7 +313,9 @@
           // ----------------------------------------------------------------------
   
           assertEquals( "anon-connection", project.getRepository().getConnection() );
  +
           assertEquals( "developer-connection", project.getRepository().getDeveloperConnection() );
  +
           assertEquals( "repository-url", project.getRepository().getUrl() );
   
           // ----------------------------------------------------------------------
  @@ -267,7 +325,9 @@
           Version v = (Version) project.getVersions().get( 0 );
   
           assertEquals( "b1", v.getId() );
  +
           assertEquals( "1.0-b1", v.getName() );
  +
           assertEquals( "MAVEN_1_0_B1", v.getTag() );
   
           // ----------------------------------------------------------------------
  @@ -277,8 +337,11 @@
           MailingList ml = (MailingList) project.getMailingLists().get( 0 );
   
           assertEquals( "Maven User List", ml.getName() );
  +
           assertEquals( "subscribe", ml.getSubscribe() );
  +
           assertEquals( "unsubscribe", ml.getUnsubscribe() );
  +
           assertEquals( "archive", ml.getArchive() );
   
           // ----------------------------------------------------------------------
  @@ -288,9 +351,13 @@
           Developer d = (Developer) project.getDevelopers().get( 0 );
   
           assertEquals( "Jason van Zyl", d.getName() );
  +
           assertEquals( "jvanzyl", d.getId() );
  +
           assertEquals( "jason@maven.org", d.getEmail() );
  +
           assertEquals( "Zenplex", d.getOrganization() );
  +
           assertEquals( "Founder", (String) d.getRoles().first() );
   
           // ----------------------------------------------------------------------
  @@ -300,6 +367,7 @@
           Contributor c = (Contributor) project.getContributors().get( 0 );
   
           assertEquals( "Martin van dem Bemt", c.getName() );
  +
           assertEquals( "mvdb@mvdb.com", c.getEmail() );
   
           // ----------------------------------------------------------------------
  @@ -307,15 +375,23 @@
           // ----------------------------------------------------------------------
   
           Dependency dep = (Dependency) project.getDependencies().get( 0 );
  +
           assertEquals( "g1", dep.getGroupId() );
  +
           assertEquals( "d1", dep.getArtifactId() );
  +
           assertEquals( "1.0", dep.getVersion() );
  +
           assertEquals( "d1-url", dep.getUrl() );
   
           Dependency dep2 = (Dependency) project.getDependencies().get( 1 );
  +
           assertEquals( "g2", dep2.getGroupId() );
  +
           assertEquals( "d2", dep2.getArtifactId() );
  +
           assertEquals( "2.0", dep2.getVersion() );
  +
           assertEquals( "d2-url", dep2.getUrl() );
   
           // ----------------------------------------------------------------------
  @@ -325,12 +401,15 @@
           Build build = project.getBuild();
   
           assertEquals( "jason@maven.org", build.getNagEmailAddress() );
  +
           assertEquals( "sourceDirectory", build.getSourceDirectory() );
  +
           assertEquals( "unitTestSourceDirectory", build.getUnitTestSourceDirectory() );
   
           UnitTest unitTest = build.getUnitTest();
   
           assertEquals( "**/*Test.java", (String) unitTest.getIncludes().get( 0 ) );
  +
           assertEquals( "**/RepositoryTest.java", (String) unitTest.getExcludes().get( 0 ) );
   
           Resource resource0 = (Resource) unitTest.getResources().get( 0 );
  @@ -340,12 +419,15 @@
           Resource resource1 = (Resource) build.getResources().get( 0 );
   
           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( "org/apache/maven/messages", resource2.getTargetPath() );
  +
           assertEquals( "messages*.properties", (String) resource2.getIncludes().get( 0 ) );
   
           // ----------------------------------------------------------------------
  @@ -353,21 +435,7 @@
           // ----------------------------------------------------------------------
   
           assertEquals( "maven-jdepend-plugin", project.getReports().get( 0 ) );
  -        assertEquals( "maven-checkstyle-plugin", project.getReports().get( 1 ) );
  -    }
  -
  -    public void testModelFileWasCorrectlySet()
  -        throws Exception
  -    {
  -        File f = new File( basedir, "src/test/org/apache/maven/project/project.xml" );
  -
  -        assertTrue( "Test project.xml file doesn't exist!", f.exists() );
   
  -        project = projectBuilder.build( f );
  -
  -        //assertNotNull( " Test project.xml file wasn't set by Project Builder", project.getModel().getFile() );
  -
  -        //assertEquals( " Test project.xml file wasn't set proper value", f, project.getModel().getFile() );
  +        assertEquals( "maven-checkstyle-plugin", project.getReports().get( 1 ) );
       }
  -
   }
  
  
  
  1.2       +2 -1      maven-components/maven-project/src/test/org/apache/maven/project/project.properties
  
  Index: project.properties
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-project/src/test/org/apache/maven/project/project.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.properties	8 Dec 2003 18:13:24 -0000	1.1
  +++ project.properties	8 Dec 2003 21:23:48 -0000	1.2
  @@ -1,2 +1,3 @@
   name = jason
  -occupation = builder
  \ No newline at end of file
  +occupation = builder
  +maven.final.name = foo
  \ No newline at end of file
  
  
  
  1.1                  maven-components/maven-project/src/test/org/apache/maven/project/fully-populated-child.xml
  
  Index: fully-populated-child.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <project>
    <extend>${basedir}/project.xml</extend>
    <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>
  
    <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>${basedir}/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