You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2009/02/03 20:50:12 UTC

svn commit: r740395 - in /maven/components/trunk: ./ maven-embedder/ maven-embedder/src/main/java/org/apache/maven/embedder/ maven-project/ maven-project/src/main/java/org/apache/maven/project/ maven-project/src/main/java/org/apache/maven/project/build...

Author: sisbell
Date: Tue Feb  3 19:50:11 2009
New Revision: 740395

URL: http://svn.apache.org/viewvc?rev=740395&view=rev
Log:
Tests for MNG-1943 - interpolation in parent pom and MNG-3567 - pluginManagement inherited. Added additional methods to maven embedder for querying of plugin configs.

Added:
    maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/
    maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/pom.xml
    maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/sub/
    maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/sub/pom.xml
    maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/
    maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/pom.xml
    maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/sub/
    maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/sub/pom.xml
Modified:
    maven/components/trunk/maven-embedder/pom.xml
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
    maven/components/trunk/maven-project/pom.xml
    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/MavenProject.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/Mixer.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
    maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
    maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java
    maven/components/trunk/pom.xml

Modified: maven/components/trunk/maven-embedder/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/pom.xml?rev=740395&r1=740394&r2=740395&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/pom.xml (original)
+++ maven/components/trunk/maven-embedder/pom.xml Tue Feb  3 19:50:11 2009
@@ -59,6 +59,10 @@
       <groupId>easymock</groupId>
       <artifactId>easymock</artifactId>
     </dependency>
+    <dependency>
+    	<groupId>commons-jxpath</groupId>
+    	<artifactId>commons-jxpath</artifactId>
+    </dependency>      
   </dependencies>
   <build>
     <resources>

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=740395&r1=740394&r2=740395&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java Tue Feb  3 19:50:11 2009
@@ -91,6 +91,7 @@
 import org.codehaus.plexus.component.repository.exception.ComponentRepositoryException;
 import org.codehaus.plexus.configuration.PlexusConfigurationException;
 import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
 import org.codehaus.plexus.logging.LoggerManager;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
@@ -250,7 +251,7 @@
     }
 
     public PlexusConfiguration getPluginConfiguration(String pluginId, String mojoId, Model model) throws Exception
-    {        
+    {
         try {
             return mixer.mixPluginAndReturnConfig(pluginRepository.findPluginById(pluginId, mojoId), model);
         } catch (PlexusConfigurationException e) {
@@ -258,6 +259,24 @@
         }
     }
 
+    public Object getPluginConfigurationAsDom(String pluginId, String mojoId, Model model) throws Exception
+    {
+        try {
+            return mixer.mixPluginAndReturnConfigAsDom(pluginRepository.findPluginById(pluginId, mojoId), model);
+        } catch (PlexusConfigurationException e) {
+            throw new IOException(e.getMessage());
+        }
+    }
+
+    public Object getPluginConfigurationAsDom(String pluginId, String mojoId, Model model, String xpathExpression) throws Exception
+    {
+        try {
+            return mixer.mixPluginAndReturnConfigAsDom(pluginRepository.findPluginById(pluginId, mojoId), model, xpathExpression);
+        } catch (PlexusConfigurationException e) {
+            throw new IOException(e.getMessage());
+        }
+    }    
+
     // ----------------------------------------------------------------------
     // Settings
     // ----------------------------------------------------------------------

Modified: maven/components/trunk/maven-project/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/pom.xml?rev=740395&r1=740394&r2=740395&view=diff
==============================================================================
--- maven/components/trunk/maven-project/pom.xml (original)
+++ maven/components/trunk/maven-project/pom.xml Tue Feb  3 19:50:11 2009
@@ -71,8 +71,6 @@
     <dependency>
     	<groupId>commons-jxpath</groupId>
     	<artifactId>commons-jxpath</artifactId>
-    	<version>1.3</version>
-    	<scope>test</scope>
     </dependency>
   </dependencies>
   <build>

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=740395&r1=740394&r2=740395&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 Tue Feb  3 19:50:11 2009
@@ -119,7 +119,17 @@
     
     public MavenProject build( File projectDescriptor, ProjectBuilderConfiguration config )
         throws ProjectBuildingException
-    {  
+    {
+        if(projectDescriptor == null)
+        {
+            throw new IllegalArgumentException("projectDescriptor: null");
+        }
+
+        if(config == null)
+        {
+            throw new IllegalArgumentException("config: null");
+        }
+        
        List<ArtifactRepository> artifactRepositories = new ArrayList<ArtifactRepository>( );
        artifactRepositories.addAll( mavenTools.buildArtifactRepositories( projectBuilder.getSuperModel() ) );
        if(config.getRemoteRepositories() != null) 
@@ -398,7 +408,8 @@
                                                               null, 
                                                               interpolatorProperties, 
                                                               resolver,
-                                                              config );
+                                                              config,
+                                                              this);
         }
         catch ( IOException e )
         {

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=740395&r1=740394&r2=740395&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java Tue Feb  3 19:50:11 2009
@@ -194,12 +194,41 @@
 
     public MavenProject( Model model )
     {
+        if(model == null)
+        {
+            throw new IllegalArgumentException("model: null");
+        }
         setModel( model );
     }
 
+    /**
+     * Constructor
+     *
+     * @param model - may not be null
+     * @param artifactFactory - may not be null
+     * @param mavenTools - may not be null
+     * @param mavenProjectBuilder
+     * @param projectBuilderConfiguration
+     * @throws InvalidRepositoryException
+     */
     public MavenProject( Model model, ArtifactFactory artifactFactory, MavenTools mavenTools, MavenProjectBuilder mavenProjectBuilder, ProjectBuilderConfiguration projectBuilderConfiguration )
         throws InvalidRepositoryException
     {
+        if(model == null)
+        {
+            throw new IllegalArgumentException("model: null");
+        }
+
+        if(artifactFactory == null)
+        {
+            throw new IllegalArgumentException("artifactFactory: null");
+        }
+
+        if(mavenTools == null)
+        {
+            throw new IllegalArgumentException("mavenTools: null");
+        }
+
         setModel( model );
         this.mavenProjectBuilder = mavenProjectBuilder;
         this.projectBuilderConfiguration = projectBuilderConfiguration;
@@ -330,7 +359,17 @@
     public MavenProject getParent()
     {
         if ( parent == null )
-        {
+        {   /*
+            if(mavenProjectBuilder == null)
+            {
+                throw new IllegalArgumentException("mavenProjectBuilder: null");
+            }
+
+            if(projectBuilderConfiguration == null)
+            {
+                throw new IllegalArgumentException("projectBuilderConfiguration: null");
+            }
+            */
             if ( parentFile != null )
             {
                 try

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/Mixer.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/Mixer.java?rev=740395&r1=740394&r2=740395&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/Mixer.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/Mixer.java Tue Feb  3 19:50:11 2009
@@ -4,6 +4,7 @@
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.Model;
 import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 import java.io.IOException;
 
@@ -14,4 +15,10 @@
     Model mixPlugin(Plugin plugin, Model model) throws IOException;
 
     PlexusConfiguration mixPluginAndReturnConfig(Plugin plugin, Model model) throws IOException;
+
+    Object mixPluginAndReturnConfigAsDom(Plugin plugin, Model model) throws IOException,
+        XmlPullParserException;
+
+    Object mixPluginAndReturnConfigAsDom(Plugin plugin, Model model, String xpathExpression) throws IOException,
+        XmlPullParserException;    
 }

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=740395&r1=740394&r2=740395&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 Tue Feb  3 19:50:11 2009
@@ -27,6 +27,7 @@
 import org.apache.maven.model.Model;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuilderConfiguration;
+import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.shared.model.InterpolatorProperty;
 
 /**
@@ -54,7 +55,8 @@
                                      List<Model> mixins, 
                                      Collection<InterpolatorProperty> interpolatorProperties,
                                      PomArtifactResolver resolver, 
-                                     ProjectBuilderConfiguration projectBuilderConfiguration )
+                                     ProjectBuilderConfiguration projectBuilderConfiguration,
+                                     MavenProjectBuilder mavenProjectBuilder)
         throws IOException;
 
     Model getSuperModel();

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=740395&r1=740394&r2=740395&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 Tue Feb  3 19:50:11 2009
@@ -22,6 +22,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.Reader;
+import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -37,7 +38,9 @@
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuilderConfiguration;
+import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.builder.*;
+import org.apache.maven.project.builder.ProjectUri;
 import org.apache.maven.shared.model.*;
 import org.apache.maven.shared.model.impl.DefaultModelDataSource;
 import org.codehaus.plexus.component.annotations.Component;
@@ -46,9 +49,12 @@
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
+import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.codehaus.plexus.configuration.PlexusConfiguration;
 import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
 import org.apache.maven.shared.model.ModelMarshaller;
+import org.apache.commons.jxpath.JXPathContext;
 
 /**
  * Default implementation of the project builder.
@@ -62,7 +68,7 @@
     
     @Requirement
     private MavenTools mavenTools;
-       
+
     @Requirement
     List<ModelEventListener> listeners;
 
@@ -170,7 +176,8 @@
                                             List<Model> mixins,
                                             Collection<InterpolatorProperty> interpolatorProperties,
                                             PomArtifactResolver resolver, 
-                                            ProjectBuilderConfiguration projectBuilderConfiguration )
+                                            ProjectBuilderConfiguration projectBuilderConfiguration,
+                                            MavenProjectBuilder mavenProjectBuilder)
         throws IOException
     {
         PomClassicDomainModel domainModel = buildModel( pom, 
@@ -183,7 +190,7 @@
             MavenProject mavenProject = new MavenProject( domainModel.getModel(), 
                                                           artifactFactory, 
                                                           mavenTools, 
-                                                          null, 
+                                                          mavenProjectBuilder, 
                                                           projectBuilderConfiguration );
             
             mavenProject.setParentFile( domainModel.getParentFile() );
@@ -385,13 +392,36 @@
                                                                                                 null,
                                                                                                 listeners ) );
         return transformedDomainModel.getModel();
-      //  List<ModelProperty> pluginProperties = ModelMarshaller.marshallXmlToModelProperties(
-      //          (new PluginMixin(plugin)).getInputStream(), ProjectUri.Build.Plugins.xUri, null);
         
     }
 
     public PlexusConfiguration mixPluginAndReturnConfig(Plugin plugin, Model model) throws IOException
     {
+        List<ModelProperty> mps = mixPluginAndReturnConfigAsProperties(plugin, model);
+        return !mps.isEmpty() ?
+            new XmlPlexusConfiguration(ModelMarshaller.unmarshalModelPropertiesToXml(mps, ProjectUri.Build.Plugins.Plugin.xUri)) : null;
+    }
+
+   public Object mixPluginAndReturnConfigAsDom(Plugin plugin, Model model) throws IOException, XmlPullParserException
+   {
+       List<ModelProperty> mps = mixPluginAndReturnConfigAsProperties(plugin, model);
+       return  !mps.isEmpty() ? Xpp3DomBuilder.build(
+               new StringReader(ModelMarshaller.unmarshalModelPropertiesToXml(mps, ProjectUri.Build.Plugins.Plugin.xUri) ) ) : null;
+   }
+
+   public Object mixPluginAndReturnConfigAsDom(Plugin plugin, Model model, String xpathExpression) throws IOException,
+           XmlPullParserException
+   {
+       Object dom = mixPluginAndReturnConfigAsDom(plugin, model);
+       if(dom == null)
+       {
+           return null;
+       }
+       return JXPathContext.newContext( dom ).getValue(xpathExpression);
+   }
+
+   private List<ModelProperty> mixPluginAndReturnConfigAsProperties(Plugin plugin, Model model) throws IOException
+   {
         List<DomainModel> domainModels = new ArrayList<DomainModel>();
         domainModels.add( new PluginMixin(plugin) );
         domainModels.add( new PomClassicDomainModel(model) );
@@ -420,12 +450,12 @@
                         config.add(mp);
                     }
                 }
-                return new XmlPlexusConfiguration(ModelMarshaller.unmarshalModelPropertiesToXml(config, ProjectUri.Build.Plugins.Plugin.xUri));
+                return config;
 
             }
         }
-        return null;       
-    }
+        return new ArrayList<ModelProperty>();
+   }
 
     private static boolean matchesIdOfPlugin(ModelContainer mc, Plugin plugin)
     {   

Modified: 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=740395&r1=740394&r2=740395&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java Tue Feb  3 19:50:11 2009
@@ -31,7 +31,12 @@
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.project.harness.PomTestWrapper;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilderConfiguration;
+import org.apache.maven.project.DefaultProjectBuilderConfiguration;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.configuration.PlexusConfiguration;
 import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
@@ -49,6 +54,8 @@
 
     private ProjectBuilder projectBuilder;
 
+    private MavenProjectBuilder mavenProjectBuilder;
+
     private Mixer mixer;
 
     private MavenTools mavenTools;
@@ -64,6 +71,7 @@
     {
         testDirectory = new File( getBasedir(), BASE_POM_DIR );
         testMixinDirectory = new File( getBasedir(), BASE_MIXIN_DIR );
+        mavenProjectBuilder = lookup( MavenProjectBuilder.class );
         projectBuilder = lookup( ProjectBuilder.class );
         mixer = (Mixer) projectBuilder;
         mavenTools = lookup( MavenTools.class );
@@ -137,6 +145,24 @@
     }
     */
 
+    /* MNG-3567*/
+    public void testParentInterpolation()
+        throws Exception
+    {
+        PomTestWrapper pom = buildPomFromMavenProject( "parent-interpolation/sub" );
+        pom = new PomTestWrapper(pom.getMavenProject().getParent());
+        assertEquals( "1.3.0-SNAPSHOT", pom.getValue( "build/plugins[1]/version" ) );
+    }
+
+
+    /* MNG-3567*/
+    public void testPluginManagementInherited()
+        throws Exception
+    {
+        PomTestWrapper pom = buildPom( "pluginmanagement-inherited/sub" );
+        assertEquals( "1.0-alpha-21", pom.getValue( "build/plugins[1]/version" ) );
+    }
+
     public void testPluginOrder()
         throws Exception
     {
@@ -760,6 +786,20 @@
         return new PomTestWrapper( pomFile, projectBuilder.buildModel( pomFile, null, pomArtifactResolver ) );
     }
 
+    private PomTestWrapper buildPomFromMavenProject( String pomPath )
+        throws IOException
+    {
+        File pomFile = new File( testDirectory , pomPath );
+        if ( pomFile.isDirectory() )
+        {
+            pomFile = new File( pomFile, "pom.xml" );
+        }
+        ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration();
+        config.setLocalRepository(new DefaultArtifactRepository("default", "", new DefaultRepositoryLayout()));
+        return new PomTestWrapper( pomFile, projectBuilder.buildFromLocalPath( pomFile, null, null, pomArtifactResolver,
+                config, mavenProjectBuilder ) );
+    }
+
     private Model buildMixin( String mixinPath )
         throws IOException, XmlPullParserException
     {

Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java?rev=740395&r1=740394&r2=740395&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java Tue Feb  3 19:50:11 2009
@@ -30,6 +30,7 @@
 import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl;
 import org.apache.maven.model.Model;
 import org.apache.maven.project.builder.PomClassicDomainModel;
+import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.model.ModelProperty;
 
 public class PomTestWrapper
@@ -41,6 +42,8 @@
 
     private JXPathContext context;
 
+    private MavenProject mavenProject;
+
     static
     {
         JXPathContextReferenceImpl.addNodePointerFactory( new Xpp3DomPointerFactory() );
@@ -64,6 +67,29 @@
         context = JXPathContext.newContext( domainModel.getModel() );
     }
 
+    public PomTestWrapper( File pomFile, MavenProject mavenProject )
+        throws IOException
+    {
+        if ( mavenProject == null )
+        {
+            throw new IllegalArgumentException( "mavenProject: null" );
+        }
+        this.mavenProject = mavenProject;
+        this.pomFile = pomFile;
+        context = JXPathContext.newContext( mavenProject.getModel() );
+    }
+
+    public PomTestWrapper( MavenProject mavenProject )
+        throws IOException
+    {
+        if ( mavenProject == null )
+        {
+            throw new IllegalArgumentException( "mavenProject: null" );
+        }
+        this.mavenProject = mavenProject;
+        context = JXPathContext.newContext( mavenProject.getModel() );
+    }
+
     public PomTestWrapper( File file )
         throws IOException
     {
@@ -88,6 +114,11 @@
         context = JXPathContext.newContext( domainModel.getModel() );
     }
 
+    public MavenProject getMavenProject()
+    {
+        return mavenProject;
+    }
+
     public PomClassicDomainModel getDomainModel()
     {
         return this.domainModel;

Added: maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/pom.xml?rev=740395&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/pom.xml Tue Feb  3 19:50:11 2009
@@ -0,0 +1,15 @@
+<project>
+	<modelVersion>4.0.0</modelVersion>
+    <groupId>org.sonatype.nexus</groupId>
+    <artifactId>nexus</artifactId>
+	<version>1.3.0-SNAPSHOT</version>
+	<build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.modello</groupId>
+                <artifactId>modello-maven-plugin</artifactId>
+                <version>${project.version}</version>
+            </plugin>
+        </plugins>
+	</build>
+</project>
\ No newline at end of file

Added: maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/sub/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/sub/pom.xml?rev=740395&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/sub/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/sub/pom.xml Tue Feb  3 19:50:11 2009
@@ -0,0 +1,9 @@
+<project>
+    <parent>
+        <groupId>org.sonatype.nexus</groupId>
+        <artifactId>nexus</artifactId>
+        <version>1.3.0-SNAPSHOT</version>
+    </parent>
+	<modelVersion>4.0.0</modelVersion>
+    <artifactId>a</artifactId>
+</project>
\ No newline at end of file

Added: maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/pom.xml?rev=740395&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/pom.xml Tue Feb  3 19:50:11 2009
@@ -0,0 +1,17 @@
+<project>
+	<modelVersion>4.0.0</modelVersion>
+    <groupId>org.sonatype.nexus</groupId>
+    <artifactId>nexus</artifactId>
+	<version>1.3.0-SNAPSHOT</version>
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.codehaus.modello</groupId>
+					<artifactId>modello-maven-plugin</artifactId>
+					<version>1.0-alpha-21</version>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+	</build>
+</project>
\ No newline at end of file

Added: maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/sub/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/sub/pom.xml?rev=740395&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/sub/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/sub/pom.xml Tue Feb  3 19:50:11 2009
@@ -0,0 +1,17 @@
+<project>
+    <parent>
+        <groupId>org.sonatype.nexus</groupId>
+        <artifactId>nexus</artifactId>
+        <version>1.3.0-SNAPSHOT</version>
+    </parent>
+	<modelVersion>4.0.0</modelVersion>
+    <artifactId>a</artifactId>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.modello</groupId>
+                <artifactId>modello-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+</project>
\ No newline at end of file

Modified: maven/components/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/pom.xml?rev=740395&r1=740394&r2=740395&view=diff
==============================================================================
--- maven/components/trunk/pom.xml (original)
+++ maven/components/trunk/pom.xml Tue Feb  3 19:50:11 2009
@@ -59,6 +59,7 @@
     <mercuryMp3Version>1.0-alpha-1</mercuryMp3Version>
     <woodstoxVersion>3.2.6</woodstoxVersion>
     <modelloVersion>1.0-alpha-22</modelloVersion>
+    <jxpathVersion>1.3</jxpathVersion>
   </properties>  
   <issueManagement>
     <system>jira</system>
@@ -400,6 +401,11 @@
           </exclusion>
         </exclusions>
       </dependency>
+    <dependency>
+    	<groupId>commons-jxpath</groupId>
+    	<artifactId>commons-jxpath</artifactId>
+        <version>${jxpathVersion}</version>
+    </dependency>
 
       <!--  Mercury -->
       <dependency>