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 2004/03/21 22:40:44 UTC

cvs commit: maven-components/maven-project/src/test/java/org/apache/maven/util CollectionUtilsTest.java

jvanzyl     2004/03/21 13:40:43

  Modified:    maven-project/src/main/java/org/apache/maven/project
                        DefaultMavenProjectBuilder.java
               maven-project/src/main/java/org/apache/maven/util
                        CollectionUtils.java
               maven-project/src/test/java/org/apache/maven/project
                        DefaultProjectBuilderTest.java
               maven-project/src/test/java/org/apache/maven/util
                        CollectionUtilsTest.java
  Added:       maven-project/src/main/resources/org/apache/maven/project
                        super-model.xml
               maven-project/src/test/java/org/apache/maven/project
                        child-which-inherits-from-super-model.xml
               maven-project/src/test/java/org/apache/maven/project/helpers
                        ModelTestHelper.java ProjectTestHelper.java
  Removed:     maven-project/src/main/resources/org/apache/maven
                        project.xml
               maven-project/src/test/java/org/apache/maven/project
                        ModelTestHelper.java ProjectTestHelper.java
  Log:
  o now, given any arbitrary lineage of models a super model will be the
    implicit beginning of the lineage.
  
    This means we can now have recommend defaults and have them be provided
    by the implicit super model. This also means that when recommendations
    are followed POMs will be much smaller.
  
  Revision  Changes    Path
  1.4       +88 -161   maven-components/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
  
  Index: DefaultMavenProjectBuilder.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DefaultMavenProjectBuilder.java	20 Mar 2004 04:22:47 -0000	1.3
  +++ DefaultMavenProjectBuilder.java	21 Mar 2004 21:40:43 -0000	1.4
  @@ -7,21 +7,20 @@
   import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
   import org.apache.maven.util.CollectionUtils;
   import org.codehaus.plexus.logging.AbstractLogEnabled;
  +import org.codehaus.plexus.util.PropertyUtils;
   import org.codehaus.plexus.util.StringUtils;
   import org.codehaus.plexus.util.dag.DAG;
   import org.codehaus.plexus.util.dag.TopologicalSorter;
  -import org.xmlpull.v1.XmlPullParserException;
   
   import java.io.File;
  -import java.io.FileInputStream;
   import java.io.FileReader;
  -import java.io.IOException;
  -import java.io.InputStream;
  +import java.io.InputStreamReader;
   import java.io.StringReader;
   import java.io.StringWriter;
   import java.util.ArrayList;
   import java.util.HashMap;
   import java.util.Iterator;
  +import java.util.LinkedList;
   import java.util.List;
   import java.util.Map;
   import java.util.Properties;
  @@ -33,110 +32,67 @@
       extends AbstractLogEnabled
       implements MavenProjectBuilder
   {
  -    private MavenXpp3Writer writer;
  +    private MavenXpp3Writer modelWriter;
   
  -    private MavenXpp3Reader reader;
  +    private MavenXpp3Reader modelReader;
   
       private MavenArtifactory artifactory;
   
  -    // ----------------------------------------------------------------------
  -    // Protected methods to be used by the Maven facade.
  -    // ----------------------------------------------------------------------
  -
  -    //
  -    // 1. collect all the vertices for the projects that we want to build.
  -    //
  -    // 2. iterate through the deps of each project and if that dep is within
  -    //    the set of projects we want to build then add an edge, otherwise throw
  -    //    the edge away because that dependency is not within the set of projects
  -    //    we are trying to build. we assume a closed set.
  -    //
  -    // 3. do a topo sort on the graph that remains.
  -    //
  -    public List getSortedProjects( List projects )
  +    public MavenProject build( File project )
           throws Exception
       {
  -        DAG dag = new DAG();
  -
  -        Map projectMap = new HashMap();
  -
  -        for ( Iterator i = projects.iterator(); i.hasNext(); )
  -        {
  -            MavenProject project = (MavenProject) i.next();
  +        return build( project, true );
  +    }
   
  -            String artifactId = project.getArtifactId();
  +    public MavenProject build( File projectDescriptor, boolean useParentPom )
  +        throws Exception
  +    {
  +        LinkedList lineage = new LinkedList();
   
  -            dag.addVertex( artifactId );
  +        MavenProject project = assembleLineage( projectDescriptor, useParentPom, lineage );
   
  -            projectMap.put( artifactId, project );
  -        }
  +        setupModelInheritance( ( (MavenProject) lineage.get( 0 ) ).getModel(), getSuperModel() );
   
  -        for ( Iterator i = projects.iterator(); i.hasNext(); )
  +        for ( int i = 1; i < lineage.size(); i++ )
           {
  -            MavenProject project = (MavenProject) i.next();
  -
  -            String artifactId = project.getArtifactId();
  -
  -            for ( Iterator j = project.getDependencies().iterator(); j.hasNext(); )
  -            {
  -                Dependency dependency = (Dependency) j.next();
  -
  -                String dependencyArtifactId = dependency.getArtifactId();
  -
  -                if ( dag.getVertex( dependencyArtifactId ) != null )
  -                {
  -                    dag.addEdge( artifactId, dependency.getArtifactId() );
  -                }
  -            }
  +            setupModelInheritance( ( (MavenProject) lineage.get( i ) ).getModel(), ( (MavenProject) lineage.get( i - 1 ) ).getModel() );
           }
   
  -        List sortedProjects = new ArrayList();
  +        project.setInterpolatedModel( interpolateModel( project.getModel(), project.getProperties() ) );
   
  -        for ( Iterator i = TopologicalSorter.sort( dag ).iterator(); i.hasNext(); )
  -        {
  -            String artifactId = (String) i.next();
  +        project.setArtifacts( artifactory.createArtifacts( project ) );
   
  -            sortedProjects.add( projectMap.get( artifactId ) );
  -        }
  +        setupMavenFinalName( project );
   
  -        return sortedProjects;
  +        project.initialize();
  +
  +        return project;
       }
   
  -    public MavenProject build( File project )
  +    private Model getSuperModel()
           throws Exception
       {
  -        return build( project, true );
  +        return modelReader.read( new InputStreamReader( DefaultMavenProjectBuilder.class.getResourceAsStream( "super-model.xml" ) ) );
       }
   
  -    public MavenProject build( File projectDescriptor, boolean useParentPom )
  +    private MavenProject assembleLineage( File projectDescriptor, boolean useParentPom, LinkedList lineage )
           throws Exception
       {
           MavenProject project = new MavenProject();
   
  +        lineage.addFirst( project );
  +
           Map properties = createProjectProperties( projectDescriptor.getParentFile() );
   
           FileReader reader = new FileReader( projectDescriptor );
   
  -        Model model = null;
  -
  -        try
  -        {
  -            model = this.reader.read( reader );
  -
  -            project.setFile( projectDescriptor );
  +        Model model = modelReader.read( reader );
   
  -            project.setModel( model );
  -
  -            project.setInterpolatedModel( interpolateModel( model, properties ) );
  -        }
  -        catch ( XmlPullParserException e )
  -        {
  -            getLogger().error( "Error reading file: " + projectDescriptor, e );
  +        reader.close();
   
  -            throw e;
  -        }
  +        project.setFile( projectDescriptor );
   
  -        reader.close();
  +        project.setModel( model );
   
           String modelToExtend = model.getExtend();
   
  @@ -146,24 +102,25 @@
   
               File parentModel = new File( modelToExtend );
   
  -            if ( ! parentModel.isAbsolute() )
  +            if ( !parentModel.isAbsolute() )
               {
                   parentModel = new File( projectDescriptor.getParentFile(), modelToExtend );
               }
   
  -            MavenProject parent = build( parentModel );
  +            MavenProject parent = assembleLineage( parentModel, useParentPom, lineage );
   
               project.setParent( parent );
  -
  -            setupModelInheritance( project.getModel(), parent.getModel() );
           }
   
           project.setProperties( properties );
   
           project.setFile( projectDescriptor );
   
  -        project.setArtifacts( artifactory.createArtifacts( project ) );
  +        return project;
  +    }
   
  +    private void setupMavenFinalName( MavenProject project )
  +    {
           String mavenFinalName = project.getProperty( "maven.final.name" );
   
           if ( mavenFinalName == null || mavenFinalName.indexOf( "${" ) >= 0 )
  @@ -177,21 +134,8 @@
                   project.setProperty( "maven.final.name", MavenProject.standardToLegacyId( project.getId() ) + "-" + project.getVersion() );
               }
           }
  -
  -        project.initialize();
  -
  -        return project;
       }
   
  -    /**
  -     * Setup the model inheritance if one model is extending another.
  -     *
  -     * Here we are strictly dealing with the model so raw model values from
  -     * the parent model are used to populate fields in the child model.
  -     *
  -     * @param child
  -     * @param parent
  -     */
       private void setupModelInheritance( Model child, Model parent )
       {
           // Pom version
  @@ -342,15 +286,6 @@
           //child.addParentDependencies( parent.getDependencies() );
       }
   
  -    /**
  -     * Create a jelly context given a descriptor directory and parent
  -     * jelly context.
  -     *
  -     * @param descriptorDirectory The directory from which to pull the standard maven
  -     * properties files from.
  -     * @return The generated maven based on the contents of the standard maven
  -     * properties files.
  -     */
       Map createProjectProperties( File descriptorDirectory )
       {
           // System properties
  @@ -359,19 +294,19 @@
           // User build properties
           File userBuildPropertiesFile = new File( System.getProperty( "user.home" ), "build.properties" );
   
  -        Properties userBuildProperties = loadProperties( userBuildPropertiesFile );
  +        Properties userBuildProperties = PropertyUtils.loadProperties( userBuildPropertiesFile );
   
           // project build properties
           File projectBuildPropertiesFile = new File( descriptorDirectory, "build.properties" );
   
  -        Properties projectBuildProperties = loadProperties( projectBuildPropertiesFile );
  +        Properties projectBuildProperties = PropertyUtils.loadProperties( projectBuildPropertiesFile );
   
           // project properties
           File projectPropertiesFile = new File( descriptorDirectory, "project.properties" );
   
  -        Properties projectProperties = loadProperties( projectPropertiesFile );
  +        Properties projectProperties = PropertyUtils.loadProperties( projectPropertiesFile );
   
  -        Properties defaultProperties = loadProperties(
  +        Properties defaultProperties = PropertyUtils.loadProperties(
               DefaultMavenProjectBuilder.class.getClassLoader().getResourceAsStream( DEFAULTS_PROPERTIES ) );
   
           Map result = CollectionUtils.mergeMaps( new Map[]
  @@ -398,19 +333,12 @@
           return result;
       }
   
  -    /**
  -     * Create an XML string from a project.
  -     *
  -     * @param project MavenSession project to turn into an XML representation.
  -     * @return XML representation of the project
  -     * @throws java.lang.Exception when anything goes wrong. FIXME this is bad
  -     */
       public String getProjectString( Model project )
           throws Exception
       {
           StringWriter writer = new StringWriter();
   
  -        this.writer.write( writer, project );
  +        modelWriter.write( writer, project );
   
           return writer.toString();
       }
  @@ -422,68 +350,67 @@
       private Model interpolateModel( Model model, Map map )
           throws Exception
       {
  -        return reader.read( new StringReader( StringUtils.interpolate( getProjectString( model ), map ) ) );
  +        return modelReader.read( new StringReader( StringUtils.interpolate( getProjectString( model ), map ) ) );
       }
   
  -    /**
  -     * Load properties from a <code>File</code>.
  -     *
  -     * @param file Propertie file to load.
  -     * @return The loaded Properties.
  -     */
  -    public Properties loadProperties( File file )
  +    // ----------------------------------------------------------------------
  +    //
  +    // 1. collect all the vertices for the projects that we want to build.
  +    //
  +    // 2. iterate through the deps of each project and if that dep is within
  +    //    the set of projects we want to build then add an edge, otherwise throw
  +    //    the edge away because that dependency is not within the set of projects
  +    //    we are trying to build. we assume a closed set.
  +    //
  +    // 3. do a topo sort on the graph that remains.
  +    //
  +    // ----------------------------------------------------------------------
  +    public List getSortedProjects( List projects )
  +        throws Exception
       {
  -        try
  -        {
  -            return loadProperties( new FileInputStream( file ) );
  -        }
  -        catch ( Exception e )
  -        {
  -            // ignore
  -        }
  +        DAG dag = new DAG();
   
  -        return null;
  -    }
  +        Map projectMap = new HashMap();
   
  -    /**
  -     * Load properties from an <code>InputStream</code>.
  -     *
  -     * @param is InputStream from which load properties.
  -     * @return The loaded Properties.
  -     */
  -    public Properties loadProperties( InputStream is )
  -    {
  -        try
  +        for ( Iterator i = projects.iterator(); i.hasNext(); )
           {
  -            Properties properties = new Properties();
  +            MavenProject project = (MavenProject) i.next();
   
  -            // Make sure the properties stream is valid
  -            if ( is != null )
  -            {
  -                properties.load( is );
  -            }
  +            String artifactId = project.getArtifactId();
   
  -            return properties;
  -        }
  -        catch ( IOException e )
  -        {
  -            // ignore
  +            dag.addVertex( artifactId );
  +
  +            projectMap.put( artifactId, project );
           }
  -        finally
  +
  +        for ( Iterator i = projects.iterator(); i.hasNext(); )
           {
  -            try
  +            MavenProject project = (MavenProject) i.next();
  +
  +            String artifactId = project.getArtifactId();
  +
  +            for ( Iterator j = project.getDependencies().iterator(); j.hasNext(); )
               {
  -                if ( is != null )
  +                Dependency dependency = (Dependency) j.next();
  +
  +                String dependencyArtifactId = dependency.getArtifactId();
  +
  +                if ( dag.getVertex( dependencyArtifactId ) != null )
                   {
  -                    is.close();
  +                    dag.addEdge( artifactId, dependency.getArtifactId() );
                   }
               }
  -            catch ( IOException e )
  -            {
  -                // ignore
  -            }
           }
   
  -        return null;
  +        List sortedProjects = new ArrayList();
  +
  +        for ( Iterator i = TopologicalSorter.sort( dag ).iterator(); i.hasNext(); )
  +        {
  +            String artifactId = (String) i.next();
  +
  +            sortedProjects.add( projectMap.get( artifactId ) );
  +        }
  +
  +        return sortedProjects;
       }
   }
  
  
  
  1.2       +0 -16     maven-components/maven-project/src/main/java/org/apache/maven/util/CollectionUtils.java
  
  Index: CollectionUtils.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-project/src/main/java/org/apache/maven/util/CollectionUtils.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CollectionUtils.java	19 Mar 2004 17:11:06 -0000	1.1
  +++ CollectionUtils.java	21 Mar 2004 21:40:43 -0000	1.2
  @@ -12,22 +12,6 @@
   
   public class CollectionUtils
   {
  -
  -    /**
  -     * An empty unmodifiable collection.
  -     * The JDK provides empty Set and List implementations which could be used for
  -     * this purpose. However they could be cast to Set or List which might be
  -     * undesirable. This implementation only implements Collection.
  -     */
  -    public static final Collection EMPTY_COLLECTION = Collections.unmodifiableCollection( new ArrayList() );
  -
  -    /**
  -     * <code>CollectionUtils</code> should not normally be instantiated.
  -     */
  -    public CollectionUtils()
  -    {
  -    }
  -
       // ----------------------------------------------------------------------
       // Static methods that can probably be moved to a real util class.
       // ----------------------------------------------------------------------
  
  
  
  1.1                  maven-components/maven-project/src/main/resources/org/apache/maven/project/super-model.xml
  
  Index: super-model.xml
  ===================================================================
  <project>
    <modelVersion>3</modelVersion>
    <build>
      <sourceDirectory>src/main/java</sourceDirectory>
      <unitTestSourceDirectory>src/test/java</unitTestSourceDirectory>
      <unitTest>
        <includes>
          <include>**/*Test.java</include>
        </includes>
        <excludes>
          <exclude>**/*Abstract*.java</exclude>
        </excludes>
        <resources>
          <resource>
            <directory>src/test/resources</directory>
          </resource>
        </resources>
      </unitTest>
      <resources>
        <resource>
          <directory>src/main/resources</directory>
        </resource>
      </resources>
    </build>
  </project>
  
  
  
  1.2       +48 -13    maven-components/maven-project/src/test/java/org/apache/maven/project/DefaultProjectBuilderTest.java
  
  Index: DefaultProjectBuilderTest.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-project/src/test/java/org/apache/maven/project/DefaultProjectBuilderTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultProjectBuilderTest.java	19 Mar 2004 17:11:04 -0000	1.1
  +++ DefaultProjectBuilderTest.java	21 Mar 2004 21:40:43 -0000	1.2
  @@ -3,12 +3,15 @@
   import org.apache.maven.model.Build;
   import org.apache.maven.model.Dependency;
   import org.apache.maven.model.Resource;
  +import org.apache.maven.model.Model;
  +import org.apache.maven.model.UnitTest;
  +import org.apache.maven.project.helpers.ModelTestHelper;
  +import org.apache.maven.project.helpers.ProjectTestHelper;
   import org.codehaus.plexus.PlexusTestCase;
   import org.codehaus.plexus.util.DirectoryScanner;
   
   import java.io.File;
   import java.util.ArrayList;
  -import java.util.Iterator;
   import java.util.List;
   
   public class DefaultProjectBuilderTest
  @@ -61,6 +64,48 @@
           assertNotNull( project.getFile() );
       }
   
  +    public void testModelInheritanceWhereChildInheritsFromSuperModel()
  +        throws Exception
  +    {
  +        File f = new File( basedir, dir + "child-which-inherits-from-super-model.xml" );
  +
  +        MavenProject project = projectBuilder.build( f );
  +
  +        assertNotNull( "Test project can't be null!", project );
  +
  +        Model model = project.getModel();
  +
  +        assertEquals( "3", model.getModelVersion() );
  +
  +        assertEquals( "foo", model.getGroupId() );
  +
  +        assertEquals( "bar", model.getArtifactId() );
  +
  +        assertEquals( "Babar", model.getName() );
  +
  +        // ----------------------------------------------------------------------
  +        // Build
  +        // ----------------------------------------------------------------------
  +
  +        Build build = model.getBuild();
  +
  +        assertEquals( "src/main/java", build.getSourceDirectory() );
  +
  +        assertEquals( "src/test/java", build.getUnitTestSourceDirectory() );
  +
  +        UnitTest unitTest = build.getUnitTest();
  +
  +        assertEquals( "**/*Test.java", (String) unitTest.getIncludes().get( 0 ) );
  +
  +        Resource unitTestResource = (Resource) unitTest.getResources().get( 0 );
  +
  +        assertEquals( "src/test/resources", unitTestResource.getDirectory() );
  +
  +        Resource resource = (Resource) build.getResources().get( 0 );
  +
  +        assertEquals( "src/main/resources", resource.getDirectory() );
  +    }
  +
       public void testModelInheritanceWhereChildInheritsEverything()
           throws Exception
       {
  @@ -68,17 +113,14 @@
   
           MavenProject project = projectBuilder.build( f );
   
  -        System.out.println( "project.getFile() = " + project.getFile() );
  -
           assertNotNull( "Test project can't be null!", project );
   
           ModelTestHelper.testModelMapping( project.getModel() );
   
           ProjectTestHelper.testProjectFieldRetrieval( project );
  -
  -        assertNotNull( project.getParent() );
       }
   
  +
       public void testModelInheritanceWhereChildInheritsNothing()
           throws Exception
       {
  @@ -260,7 +302,7 @@
   
           scanner.setBasedir( f );
   
  -        scanner.setIncludes( new String[] { "**/project.xml" } );
  +        scanner.setIncludes( new String[]{"**/project.xml"} );
   
           scanner.scan();
   
  @@ -276,13 +318,6 @@
           List sortedProjects = projectBuilder.getSortedProjects( projects );
   
           assertNotNull( sortedProjects );
  -
  -        for ( Iterator i = sortedProjects.iterator(); i.hasNext(); )
  -        {
  -            MavenProject p = (MavenProject) i.next();
  -
  -            System.out.println( "p = " + p.getArtifactId() );
  -        }
       }
   
       public void testProjectDirectoryBaseDirectoryAlignment()
  
  
  
  1.1                  maven-components/maven-project/src/test/java/org/apache/maven/project/child-which-inherits-from-super-model.xml
  
  Index: child-which-inherits-from-super-model.xml
  ===================================================================
  <project>
    <groupId>foo</groupId>
    <artifactId>bar</artifactId>
    <name>Babar</name>
    
    <!-- Build element should be inherited from the super model -->
    
  </project>
  
  
  
  1.1                  maven-components/maven-project/src/test/java/org/apache/maven/project/helpers/ModelTestHelper.java
  
  Index: ModelTestHelper.java
  ===================================================================
  package org.apache.maven.project.helpers;
  
  import org.apache.maven.model.Model;
  import org.apache.maven.model.Version;
  import org.apache.maven.model.MailingList;
  import org.apache.maven.model.Developer;
  import org.apache.maven.model.Contributor;
  import org.apache.maven.model.Dependency;
  import org.apache.maven.model.Build;
  import org.apache.maven.model.UnitTest;
  import org.apache.maven.model.Resource;
  import junit.framework.TestCase;
  
  /**
   *
   *
   * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
   *
   * @version $Id: ModelTestHelper.java,v 1.1 2004/03/21 21:40:43 jvanzyl Exp $
   */
  public class ModelTestHelper
      extends TestCase
  {
      public static void testModelMapping( Model model )
          throws Exception
      {
          // ----------------------------------------------------------------------
          // Top-level elements
          // ----------------------------------------------------------------------
  
          assertEquals( "3", model.getModelVersion() );
  
          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() );
  
          // ----------------------------------------------------------------------
          // Organization
          // ----------------------------------------------------------------------
  
          assertEquals( "Apache Software Foundation", model.getOrganization().getName() );
  
          assertEquals( "http://apache.org/", model.getOrganization().getUrl() );
  
          assertEquals( "/images/jakarta-logo-blue.gif", model.getOrganization().getLogo() );
  
          // ----------------------------------------------------------------------
          // Repository
          // ----------------------------------------------------------------------
  
          assertEquals( "anon-connection", model.getRepository().getConnection() );
  
          assertEquals( "developer-connection", model.getRepository().getDeveloperConnection() );
  
          assertEquals( "repository-url", model.getRepository().getUrl() );
  
          // ----------------------------------------------------------------------
          // Versions
          // ----------------------------------------------------------------------
  
          Version v = (Version) model.getVersions().get( 0 );
  
          assertEquals( "b1", v.getId() );
  
          assertEquals( "1.0-b1", v.getName() );
  
          assertEquals( "MAVEN_1_0_B1", v.getTag() );
  
          // ----------------------------------------------------------------------
          // MailingLists
          // ----------------------------------------------------------------------
  
          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() );
  
          // ----------------------------------------------------------------------
          // Developers
          // ----------------------------------------------------------------------
  
          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().get( 0 ) );
  
          // ----------------------------------------------------------------------
          // Contributors
          // ----------------------------------------------------------------------
  
          Contributor c = (Contributor) model.getContributors().get( 0 );
  
          assertEquals( "Martin van dem Bemt", c.getName() );
  
          assertEquals( "mvdb@mvdb.com", c.getEmail() );
  
          // ----------------------------------------------------------------------
          // Dependencies
          // ----------------------------------------------------------------------
  
          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() );
  
          // ----------------------------------------------------------------------
          // Build
          // ----------------------------------------------------------------------
  
          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 ) );
  
          // ----------------------------------------------------------------------
          // Reports
          // ----------------------------------------------------------------------
  
          assertEquals( "maven-jdepend-plugin", model.getReports().get( 0 ) );
  
          assertEquals( "maven-checkstyle-plugin", model.getReports().get( 1 ) );
      }
  }
  
  
  
  1.1                  maven-components/maven-project/src/test/java/org/apache/maven/project/helpers/ProjectTestHelper.java
  
  Index: ProjectTestHelper.java
  ===================================================================
  package org.apache.maven.project.helpers;
  
  import org.apache.maven.model.Version;
  import org.apache.maven.model.MailingList;
  import org.apache.maven.model.Developer;
  import org.apache.maven.model.Contributor;
  import org.apache.maven.model.Dependency;
  import org.apache.maven.model.Build;
  import org.apache.maven.model.UnitTest;
  import org.apache.maven.model.Resource;
  import org.apache.maven.project.MavenProject;
  import junit.framework.TestCase;
  
  /**
   *
   *
   * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
   *
   * @version $Id: ProjectTestHelper.java,v 1.1 2004/03/21 21:40:43 jvanzyl Exp $
   */
  public class ProjectTestHelper
      extends TestCase
  {
      public static void testProjectFieldRetrieval( MavenProject project )
          throws Exception
      {
          // ----------------------------------------------------------------------
          // Top-level elements
          // ----------------------------------------------------------------------
  
          assertEquals( "3", project.getModelVersion() );
  
          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() );
  
          // ----------------------------------------------------------------------
          // Organization
          // ----------------------------------------------------------------------
  
          assertEquals( "Apache Software Foundation", project.getOrganization().getName() );
  
          assertEquals( "http://apache.org/", project.getOrganization().getUrl() );
  
          assertEquals( "/images/jakarta-logo-blue.gif", project.getOrganization().getLogo() );
  
          // ----------------------------------------------------------------------
          // Repository
          // ----------------------------------------------------------------------
  
          assertEquals( "anon-connection", project.getRepository().getConnection() );
  
          assertEquals( "developer-connection", project.getRepository().getDeveloperConnection() );
  
          assertEquals( "repository-url", project.getRepository().getUrl() );
  
          // ----------------------------------------------------------------------
          // Versions
          // ----------------------------------------------------------------------
  
          Version v = (Version) project.getVersions().get( 0 );
  
          assertEquals( "b1", v.getId() );
  
          assertEquals( "1.0-b1", v.getName() );
  
          assertEquals( "MAVEN_1_0_B1", v.getTag() );
  
          // ----------------------------------------------------------------------
          // MailingLists
          // ----------------------------------------------------------------------
  
          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() );
  
          // ----------------------------------------------------------------------
          // Developers
          // ----------------------------------------------------------------------
  
          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().get( 0 ) );
  
          // ----------------------------------------------------------------------
          // Contributors
          // ----------------------------------------------------------------------
  
          Contributor c = (Contributor) project.getContributors().get( 0 );
  
          assertEquals( "Martin van dem Bemt", c.getName() );
  
          assertEquals( "mvdb@mvdb.com", c.getEmail() );
  
          // ----------------------------------------------------------------------
          // Dependencies
          // ----------------------------------------------------------------------
  
          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() );
  
          // ----------------------------------------------------------------------
          // Build
          // ----------------------------------------------------------------------
  
          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 );
          //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 ) );
  
          // ----------------------------------------------------------------------
          // Reports
          // ----------------------------------------------------------------------
  
          assertEquals( "maven-jdepend-plugin", project.getReports().get( 0 ) );
  
          assertEquals( "maven-checkstyle-plugin", project.getReports().get( 1 ) );
      }
  }
  
  
  
  1.2       +0 -5      maven-components/maven-project/src/test/java/org/apache/maven/util/CollectionUtilsTest.java
  
  Index: CollectionUtilsTest.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-project/src/test/java/org/apache/maven/util/CollectionUtilsTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CollectionUtilsTest.java	19 Mar 2004 17:11:05 -0000	1.1
  +++ CollectionUtilsTest.java	21 Mar 2004 21:40:43 -0000	1.2
  @@ -250,9 +250,4 @@
           // Values take from projectProperties.
           assertEquals( mavenRepoRemote, (String) result.get( "maven.repo.remote" ) );
       }
  -
  -    public void testLocalSelector()
  -    {
  -        System.out.println( Locale.getDefault() );
  -    }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org