You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2008/12/17 10:34:17 UTC

svn commit: r727322 - in /maven/components/trunk/maven-project/src: main/java/org/apache/maven/project/ main/java/org/apache/maven/project/builder/ main/java/org/apache/maven/project/builder/impl/ test/java/org/apache/maven/project/builder/

Author: jvanzyl
Date: Wed Dec 17 01:34:16 2008
New Revision: 727322

URL: http://svn.apache.org/viewvc?rev=727322&view=rev
Log:
o start of harness for validating the spec, i have my first error expressed in a test where plugin executions are
  not joined properly. and the journey begins ...

Added:
    maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/
    maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java   (with props)
Modified:
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=727322&r1=727321&r2=727322&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Wed Dec 17 01:34:16 2008
@@ -387,7 +387,7 @@
         try
         {
             mavenProject = projectBuilder.buildFromLocalPath( projectDescriptor, 
-                                                              Arrays.asList( projectBuilder.getSuperModel() ), 
+                                                              null, 
                                                               interpolatorProperties, 
                                                               resolver,
                                                               config );

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java?rev=727322&r1=727321&r2=727322&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java Wed Dec 17 01:34:16 2008
@@ -35,7 +35,6 @@
 public interface ProjectBuilder
 {
     public PomClassicDomainModel buildModel( File pom, 
-                                             List<Model> mixins,
                                              Collection<InterpolatorProperty> interpolatorProperties,
                                              PomArtifactResolver resolver ) 
         throws IOException;       

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java?rev=727322&r1=727321&r2=727322&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java Wed Dec 17 01:34:16 2008
@@ -72,6 +72,14 @@
     List<ModelEventListener> listeners;
 
     private Logger logger;
+
+    public PomClassicDomainModel buildModel( File pom, 
+                                             Collection<InterpolatorProperty> interpolatorProperties,
+                                             PomArtifactResolver resolver )
+        throws IOException    
+    {
+        return buildModel( pom, null, interpolatorProperties, resolver );        
+    }    
     
     public PomClassicDomainModel buildModel( File pom, 
                                              List<Model> mixins,
@@ -92,6 +100,7 @@
         if ( mixins == null )
         {
             mixins = new ArrayList<Model>();
+            mixins.add( getSuperModel() );            
         }
         else
         {

Added: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java?rev=727322&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java (added)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java Wed Dec 17 01:34:16 2008
@@ -0,0 +1,83 @@
+package org.apache.maven.project.builder;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.MavenTools;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.project.DefaultProjectBuilderConfiguration;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilderConfiguration;
+import org.codehaus.plexus.PlexusTestCase;
+
+public class PomConstructionTest
+    extends PlexusTestCase
+{
+    private static String BASE_POM_DIR = "src/test/resources-project-builder";
+
+    private ProjectBuilder projectBuilder;
+
+    private MavenTools mavenTools;
+
+    private File testDirectory;
+    
+    protected void setUp()
+        throws Exception
+    {
+        testDirectory = new File( getBasedir(), BASE_POM_DIR );
+        
+        projectBuilder = lookup( ProjectBuilder.class );
+
+        mavenTools = lookup( MavenTools.class );
+    }
+
+    public void testNexusPoms()
+        throws Exception
+    {        
+        Map<String,File> artifacts = new HashMap<String,File>();
+                
+        File nexusAggregator = new File( testDirectory, "nexus/pom.xml" );
+        File nexusParent = new File( testDirectory, "nexus/nexus-test-harness-parent/pom.xml" );
+        File nexusLauncher = new File( testDirectory, "nexus/nexus-test-harness-launcher/pom.xml" );
+
+        artifacts.put( "nexus-test-harness-parent", nexusParent );
+        artifacts.put( "nexus-test-harness-launcher" , nexusLauncher );
+        artifacts.put( "nexus-test-harness", nexusAggregator );
+        
+        PomArtifactResolver resolver = new FileBasedPomArtifactResolver( artifacts );
+                
+        PomClassicDomainModel model = projectBuilder.buildModel( nexusLauncher, null, resolver );  
+        
+        Model m = model.getModel();
+        
+        Plugin plugin = (Plugin) m.getBuild().getPlugins().get( 0 );
+        
+        List executions = plugin.getExecutions();
+        
+        //assertEquals( 7, executions.size() );
+    }
+
+    class FileBasedPomArtifactResolver
+        implements PomArtifactResolver
+    {
+        private Map<String,File> artifacts = new HashMap<String,File>();
+        
+        public FileBasedPomArtifactResolver( Map<String, File> artifacts )
+        {
+            this.artifacts = artifacts;
+        }
+
+        public void resolve( Artifact artifact )
+            throws IOException
+        {
+            System.out.println( artifact );
+            artifact.setFile( artifacts.get(  artifact.getArtifactId() ) );
+        }
+    }
+}

Propchange: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision