jvanzyl     2004/04/04 10:09:03

  Modified:    maven-project project.xml
               maven-project/src/main/java/org/apache/maven/project
                        DefaultMavenProjectBuilder.java
                        MavenProjectBuilder.java
               maven-project/src/main/resources/META-INF/plexus
                        components.xml
  Log:
  
  
  Revision  Changes    Path
  1.2       +12 -0     maven-components/maven-project/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-project/project.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.xml       19 Mar 2004 17:11:03 -0000      1.1
  +++ project.xml       4 Apr 2004 17:09:03 -0000       1.2
  @@ -49,6 +49,18 @@
         <version>0.14-SNAPSHOT</version>
       </dependency>
   
  +    <dependency>
  +      <groupId>plexus</groupId>
  +      <artifactId>plexus-i18n</artifactId>
  +      <version>1.0-beta-2-SNAPSHOT</version>
  +    </dependency>
  +
  +    <dependency>
  +      <groupId>maven</groupId>
  +      <artifactId>wagon-api</artifactId>
  +      <version>0.9-SNAPSHOT</version>
  +    </dependency>
  +
       <!-- Component Testing -->
   
       <dependency>
  
  
  
  1.8       +32 -24    
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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DefaultMavenProjectBuilder.java   2 Apr 2004 20:41:21 -0000       1.7
  +++ DefaultMavenProjectBuilder.java   4 Apr 2004 17:09:03 -0000       1.8
  @@ -27,6 +27,7 @@
   import org.codehaus.plexus.util.CollectionUtils;
   import org.codehaus.plexus.util.dag.DAG;
   import org.codehaus.plexus.util.dag.TopologicalSorter;
  +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
   
   import java.io.File;
   import java.io.FileReader;
  @@ -43,7 +44,7 @@
   
   public class DefaultMavenProjectBuilder
       extends AbstractLogEnabled
  -    implements MavenProjectBuilder
  +    implements MavenProjectBuilder, Initializable
   {
       private MavenXpp3Writer modelWriter;
   
  @@ -53,42 +54,50 @@
   
       private ModelInheritanceAssembler modelInheritanceAssembler;
   
  -    public MavenProject build( File project )
  +    private Model superModel;
  +
  +    public void initialize()
           throws Exception
       {
  +        superModel = modelReader.read( new InputStreamReader( 
DefaultMavenProjectBuilder.class.getResourceAsStream( "super-model.xml" ) ) );
  +    }
  +
  +    public MavenProject build( File project )
  +        throws ProjectBuildingException
  +    {
           return build( project, true );
       }
   
       public MavenProject build( File projectDescriptor, boolean useParentPom )
  -        throws Exception
  +        throws ProjectBuildingException
       {
  -        LinkedList lineage = new LinkedList();
  -
  -        MavenProject project = assembleLineage( projectDescriptor, useParentPom, 
lineage );
  +        try
  +        {
  +            LinkedList lineage = new LinkedList();
   
  -        modelInheritanceAssembler.assembleModelInheritance( ( (MavenProject) 
lineage.get( 0 ) ).getModel(), getSuperModel() );
  +            MavenProject project = assembleLineage( projectDescriptor, 
useParentPom, lineage );
   
  -        for ( int i = 1; i < lineage.size(); i++ )
  -        {
  -            modelInheritanceAssembler.assembleModelInheritance(
  -                ( (MavenProject) lineage.get( i ) ).getModel(), ( (MavenProject) 
lineage.get( i - 1 ) ).getModel() );
  -        }
  +            modelInheritanceAssembler.assembleModelInheritance( ( (MavenProject) 
lineage.get( 0 ) ).getModel(), superModel );
   
  -        project.setInterpolatedModel( interpolateModel( project.getModel(), 
project.getProperties() ) );
  +            for ( int i = 1; i < lineage.size(); i++ )
  +            {
  +                modelInheritanceAssembler.assembleModelInheritance( ( 
(MavenProject) lineage.get( i ) ).getModel(), ( (MavenProject) lineage.get( i - 1 ) 
).getModel() );
  +            }
   
  -        project.setArtifacts( artifactory.createArtifacts( project ) );
  +            project.setInterpolatedModel( interpolateModel( project.getModel(), 
project.getProperties() ) );
   
  -        setupMavenFinalName( project );
  +            project.setArtifacts( artifactory.createArtifacts( project ) );
   
  -        project.initialize();
  +            setupMavenFinalName( project );
   
  -        return project;
  -    }
  +            project.initialize();
   
  -    private Model getSuperModel()
  -        throws Exception
  -    {
  -        return modelReader.read( new InputStreamReader( 
DefaultMavenProjectBuilder.class.getResourceAsStream( "super-model.xml" ) ) );
  +            return project;
  +        }
  +        catch ( Exception e )
  +        {
  +            throw new ProjectBuildingException( "Error building project from " + 
projectDescriptor, e );
  +        }
       }
   
       private MavenProject assembleLineage( File projectDescriptor, boolean 
useParentPom, LinkedList lineage )
  @@ -172,8 +181,7 @@
   
           Properties projectProperties = PropertyUtils.loadProperties( 
projectPropertiesFile );
   
  -        Properties defaultProperties = PropertyUtils.loadProperties(
  -            DefaultMavenProjectBuilder.class.getClassLoader().getResourceAsStream( 
DEFAULTS_PROPERTIES ) );
  +        Properties defaultProperties = PropertyUtils.loadProperties( 
DefaultMavenProjectBuilder.class.getClassLoader().getResourceAsStream( 
DEFAULTS_PROPERTIES ) );
   
           Map result = CollectionUtils.mergeMaps( new Map[]
           {
  
  
  
  1.4       +12 -4     
maven-components/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
  
  Index: MavenProjectBuilder.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MavenProjectBuilder.java  22 Mar 2004 00:11:15 -0000      1.3
  +++ MavenProjectBuilder.java  4 Apr 2004 17:09:03 -0000       1.4
  @@ -21,15 +21,23 @@
   
   public interface MavenProjectBuilder
   {
  -    static String ROLE = MavenProjectBuilder.class.getName();
  +    String ROLE = MavenProjectBuilder.class.getName();
   
  -    static String DEFAULTS_PROPERTIES = "org/apache/maven/defaults.properties";
  +    String DEFAULTS_PROPERTIES = "org/apache/maven/defaults.properties";
  +
  +    // ----------------------------------------------------------------------
  +    //
  +    // ----------------------------------------------------------------------
   
       MavenProject build( File project )
  -        throws Exception;
  +        throws ProjectBuildingException;
   
       MavenProject build( File project, boolean useParent )
  -        throws Exception;
  +        throws ProjectBuildingException;
  +
  +    // ----------------------------------------------------------------------
  +    //
  +    // ----------------------------------------------------------------------
   
       List getSortedProjects( List projects )
           throws Exception;
  
  
  
  1.3       +10 -3     
maven-components/maven-project/src/main/resources/META-INF/plexus/components.xml
  
  Index: components.xml
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-project/src/main/resources/META-INF/plexus/components.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- components.xml    22 Mar 2004 00:11:15 -0000      1.2
  +++ components.xml    4 Apr 2004 17:09:03 -0000       1.3
  @@ -11,13 +11,20 @@
             <role>org.apache.maven.model.io.xpp3.MavenXpp3Writer</role>
           </requirement>
           <requirement>
  -          <role>org.apache.maven.artifact.factory.MavenArtifactory</role>
  +          <role>org.apache.maven.artifact.factory.MavenArtifactFactory</role>
  +        </requirement>
  +        <requirement>
  +          <role>org.apache.maven.project.ModelInheritanceAssembler</role>
           </requirement>
         </requirements>
       </component>
       <component>
  -      <role>org.apache.maven.artifact.factory.MavenArtifactory</role>
  -      
<implementation>org.apache.maven.artifact.factory.DefaultMavenArtifactory</implementation>
  +      <role>org.apache.maven.artifact.factory.MavenArtifactFactory</role>
  +      
<implementation>org.apache.maven.artifact.factory.DefaultMavenArtifactFactory</implementation>
  +    </component>
  +    <component>
  +      <role>org.apache.maven.project.ModelInheritanceAssembler</role>
  +      
<implementation>org.apache.maven.project.DefaultModelInheritanceAssembler</implementation>
       </component>
     </components>
   </component-set>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to