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/01/23 20:24:28 UTC

svn commit: r737156 - in /maven/components/trunk: ./ maven-project-builder/src/main/java/org/apache/maven/project/builder/ maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ maven-project/src/main/java/org/apache/maven/project/...

Author: sisbell
Date: Fri Jan 23 11:24:27 2009
New Revision: 737156

URL: http://svn.apache.org/viewvc?rev=737156&view=rev
Log:
MNG-3998: Loss of execution configuration. MNG-3886: Goals order.

Added:
    maven/components/trunk/maven-project/src/test/resources-project-builder/config-with-plugin-mng/
    maven/components/trunk/maven-project/src/test/resources-project-builder/config-with-plugin-mng/pom.xml
    maven/components/trunk/maven-project/src/test/resources-project-builder/execution-configuration/
    maven/components/trunk/maven-project/src/test/resources-project-builder/execution-configuration/pom.xml
    maven/components/trunk/maven-project/src/test/resources-project-builder/foo/
    maven/components/trunk/maven-project/src/test/resources-project-builder/foo/sub/
    maven/components/trunk/maven-project/src/test/resources-project-builder/foo/sub/pom.xml
    maven/components/trunk/maven-project/src/test/resources-project-builder/single-configuration-inheritance/
    maven/components/trunk/maven-project/src/test/resources-project-builder/single-configuration-inheritance/jetty-parent.xml
    maven/components/trunk/maven-project/src/test/resources-project-builder/single-configuration-inheritance/pom.xml
Modified:
    maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
    maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java
    maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ExecutionRule.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
    maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
    maven/components/trunk/pom.xml

Modified: maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java?rev=737156&r1=737155&r2=737156&view=diff
==============================================================================
--- maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java (original)
+++ maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java Fri Jan 23 11:24:27 2009
@@ -176,7 +176,8 @@
                 }
             }
         }
-        List<ModelProperty> foobar = new ArrayList<ModelProperty>();
+
+        boolean joinedContainer = false;
         for ( ModelContainer pluginContainer : source.queryFor( ProjectUri.Build.Plugins.Plugin.xUri ) )
         {
             for ( ModelContainer managementContainer : source.queryFor( ProjectUri.Build.PluginManagement.Plugins.Plugin.xUri ) )
@@ -229,6 +230,7 @@
 
                 if ( action.equals( ModelContainerAction.JOIN ) || action.equals( ModelContainerAction.DELETE ) )
                 {
+                    joinedContainer = true;
                     ModelDataSource pluginDatasource = new DefaultModelDataSource(  pluginContainer.getProperties(), PomTransformer.MODEL_CONTAINER_FACTORIES );
                     ModelDataSource managementDatasource = new DefaultModelDataSource( managementContainer.getProperties(), PomTransformer.MODEL_CONTAINER_FACTORIES );
 
@@ -268,10 +270,9 @@
                             {
                                 //MNG-3995 - property lost here
                                 source.join(b, c);
-                                foobar.addAll(b.getProperties());
-                                foobar.addAll(c.getProperties());
                                 //REVERSE ORDER HERE
                                 joinedExecutionContainers.add(a);//-----
+                     //           Collections.reverse(joinedExecutionContainers);
                             }
                         }
                     }
@@ -363,7 +364,7 @@
             for(ModelContainer es : executionSource.queryFor( ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri )) {
                 ExecutionRule rule = new ExecutionRule();
                 //List<ModelProperty> x = rule.execute(es.getProperties());
-                List<ModelProperty> x = (!foobar.containsAll(es.getProperties())) ? rule.execute(es.getProperties()) :
+                List<ModelProperty> x = (!joinedContainer) ? rule.execute(es.getProperties()) :
                         ModelTransformerContext.sort(rule.execute(es.getProperties()),
                                 ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri);
                 

Modified: maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java?rev=737156&r1=737155&r2=737156&view=diff
==============================================================================
--- maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java (original)
+++ maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java Fri Jan 23 11:24:27 2009
@@ -109,7 +109,7 @@
                     "http://apache.org/maven/project/ciManagement/notifiers#collection/notifier/address";
 
                 public static String configuration =
-                    "http://apache.org/maven/project/ciManagement/notifiers#collection/notifier/configuration";
+                    "http://apache.org/maven/project/ciManagement/notifiers#collection/notifier/configuration#set";
             }
         }
     }
@@ -859,7 +859,7 @@
                                 "http://apache.org/maven/project/profiles#collection/profile/build/pluginManagement/plugins#collection/plugin/inherited";
 
                             public static String configuration =
-                                "http://apache.org/maven/project/profiles#collection/profile/build/pluginManagement/plugins#collection/plugin/configuration";
+                                "http://apache.org/maven/project/profiles#collection/profile/build/pluginManagement/plugins#collection/plugin/configuration#set";
                         }
                     }
                 }
@@ -986,7 +986,7 @@
                             "http://apache.org/maven/project/profiles#collection/profile/build/plugins#collection/plugin/inherited";
 
                         public static String configuration =
-                            "http://apache.org/maven/project/profiles#collection/profile/build/plugins#collection/plugin/configuration";
+                            "http://apache.org/maven/project/profiles#collection/profile/build/plugins#collection/plugin/configuration#set";
                     }
                 }
             }
@@ -1188,7 +1188,7 @@
                             "http://apache.org/maven/project/profiles#collection/profile/reporting/plugins/plugin/inherited";
 
                         public static String configuration =
-                            "http://apache.org/maven/project/profiles#collection/profile/reporting/plugins/plugin/configuration";
+                            "http://apache.org/maven/project/profiles#collection/profile/reporting/plugins/plugin/configuration#set";
 
                         public static class ReportSets
                         {
@@ -1204,13 +1204,13 @@
                                     "http://apache.org/maven/project/profiles#collection/profile/reporting/plugins/plugin/reportSets#collection/reportSet/id";
 
                                 public static String configuration =
-                                    "http://apache.org/maven/project/profiles#collection/profile/reporting/plugins/plugin/reportSets#collection/reportSet/configuration";
+                                    "http://apache.org/maven/project/profiles#collection/profile/reporting/plugins/plugin/reportSets#collection/reportSet/configuration#set";
 
                                 public static String inherited =
-                                    "http://apache.org/maven/project/profiles#collection/profile/reporting/plugins/plugin/reportSets/reportSet/inherited";
+                                    "http://apache.org/maven/project/profiles#collection/profile/reporting/plugins/plugin/reportSets#collection/reportSet/inherited";
 
                                 public static String reports =
-                                    "http://apache.org/maven/project/profiles#collection/profile/reporting/plugins/plugin/reportSets/reportSet/reports";
+                                    "http://apache.org/maven/project/profiles#collection/profile/reporting/plugins/plugin/reportSets#collection/reportSet/reports";
                             }
                         }
                     }
@@ -1571,7 +1571,7 @@
                             "http://apache.org/maven/project/reporting/plugins#collection/plugin/reportSets#collection/reportSet/id";
 
                         public static String configuration =
-                            "http://apache.org/maven/project/reporting/plugins#collection/plugin/reportSets#collection/reportSet/configuration";
+                            "http://apache.org/maven/project/reporting/plugins#collection/plugin/reportSets#collection/reportSet/configuration#set";
 
                         public static String inherited =
                             "http://apache.org/maven/project/reporting/plugins#collection/plugin/reportSets#collection/reportSet/inherited";

Modified: maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ExecutionRule.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ExecutionRule.java?rev=737156&r1=737155&r2=737156&view=diff
==============================================================================
--- maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ExecutionRule.java (original)
+++ maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ExecutionRule.java Fri Jan 23 11:24:27 2009
@@ -28,7 +28,23 @@
                 processedProperties.add(mp);
             }
         }
-        
+
+        //Remove duplicate collections
+        List<ModelProperty> c = new ArrayList<ModelProperty>();
+        boolean x = false;
+        for(ModelProperty mp : processedProperties) {
+            if(mp.getUri().equals(ProjectUri.Build.Plugins.Plugin.Executions.Execution.configuration)) {
+                if(x) {
+                    c.add(mp);
+                } else {
+                    x = true;
+                }
+
+            }
+        }
+
+        processedProperties.removeAll(c);
+
         if(!goalProperties.isEmpty()) {
             Collections.reverse(goalProperties);
             List<ModelProperty> uniqueGoals = new ArrayList<ModelProperty>();

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java?rev=737156&r1=737155&r2=737156&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java Fri Jan 23 11:24:27 2009
@@ -297,6 +297,8 @@
             s.add(ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.xUri);
             s.add(ProjectUri.Build.Plugins.Plugin.Executions.xUri);
             s.add(ProjectUri.Build.Plugins.Plugin.Executions.Execution.Goals.xURI);
+            s.add(ProjectUri.Reporting.Plugins.Plugin.ReportSets.xUri);
+            s.add(ProjectUri.Reporting.Plugins.Plugin.ReportSets.ReportSet.configuration);
             s.add(ProjectUri.Build.Plugins.Plugin.Executions.Execution.configuration);
             modelProperties = ModelMarshaller.marshallXmlToModelProperties(
                 getInputStream(), ProjectUri.baseUri, s );

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=737156&r1=737155&r2=737156&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 Fri Jan 23 11:24:27 2009
@@ -91,7 +91,7 @@
         assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins[1]/dependencies" ) ).size() );
     }
 
-    /** MNG-3821 */
+    /** MNG-3821 -FIX---
     public void testErroneousJoiningOfDifferentPluginsWithEqualExecutionIds()
         throws Exception
     {
@@ -105,6 +105,25 @@
         assertEquals( "maven-it-plugin-b", pom.getValue( "reporting/plugins[2]/artifactId" ) );
         assertEquals( 1, ( (List<?>) pom.getValue( "reporting/plugins[1]/reportSets" ) ).size() );
     }
+    */
+     /** MNG-3998 */
+    public void testExecutionConfiguration()
+        throws Exception
+    {
+        PomTestWrapper pom = buildPom( "execution-configuration" );
+    }
+
+    public void testSingleConfigurationInheritance()
+        throws Exception
+    {
+        PomTestWrapper pom = buildPom( "single-configuration-inheritance" );
+    }
+
+    public void testConfigWithPluginManagement()
+        throws Exception
+    {
+        PomTestWrapper pom = buildPom( "config-with-plugin-mng" );
+    }
 
     /** MNG-3965 */
     public void testExecutionConfigurationSubcollections()
@@ -113,6 +132,13 @@
         PomTestWrapper pom = buildPom( "execution-configuration-subcollections" );
     }
 
+    /** MNG- */
+    public void testFoo()
+        throws Exception
+    {
+        PomTestWrapper pom = buildPom( "foo/sub" );
+    }
+
     /** MNG-3985 */
     public void testMultipleRepositories()
         throws Exception
@@ -150,7 +176,7 @@
         assertEquals( "e", pom.getValue( "build/plugins[1]/executions[1]/goals[5]" ) );
     }
 
-    /* FIXME: cf. MNG-3886
+    /* FIXME: cf. MNG-3886*/
     public void testOrderOfGoalsFromPluginExecutionWithPluginManagement()
         throws Exception
     {
@@ -213,11 +239,12 @@
         assertEquals( "<?xml version='1.0'?>Tom&Jerry", pom.getValue( "properties/xmlTest" ) );
     }
 
-    /* FIXME: cf. MNG-3925
+    /* FIXME: cf. MNG-3925 
     public void testOrderOfMergedPluginExecutionsWithoutPluginManagement()
         throws Exception
     {
         PomTestWrapper pom = buildPom( "merged-plugin-exec-order/wo-plugin-mngt/sub" );
+        System.out.println(pom.getDomainModel().asString());
         assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
         assertEquals( "parent-1", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
         assertEquals( "parent-2", pom.getValue( "build/plugins[1]/executions[2]/goals[1]" ) );

Added: maven/components/trunk/maven-project/src/test/resources-project-builder/config-with-plugin-mng/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/config-with-plugin-mng/pom.xml?rev=737156&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/config-with-plugin-mng/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/config-with-plugin-mng/pom.xml Fri Jan 23 11:24:27 2009
@@ -0,0 +1,39 @@
+<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>
+				<executions>
+					<execution>
+						<id>nexus.xml</id>
+						<configuration>
+							<version>1.0.8</version>
+						</configuration>
+					</execution>
+					<execution>
+						<id>security.xml</id>
+						<configuration>
+							<version>1.0.0</version>
+							<model>src/main/mdo/security.xml</model>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+		<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/execution-configuration/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/execution-configuration/pom.xml?rev=737156&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/execution-configuration/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/execution-configuration/pom.xml Fri Jan 23 11:24:27 2009
@@ -0,0 +1,58 @@
+<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>1.0-alpha-21</version>
+                <executions>
+                    <execution>
+                        <id>nexus.xml</id>
+                        <goals>
+                            <goal>java</goal>
+                            <goal>xpp3-reader</goal>
+                            <goal>xpp3-writer</goal>
+                        </goals>
+                        <configuration>
+                            <version>1.0.8</version>
+                            <packagedVersions>
+                                <packagedVersion>1.0.0</packagedVersion>
+                                <packagedVersion>1.0.1</packagedVersion>
+                                <packagedVersion>1.0.6</packagedVersion>
+                            </packagedVersions>
+                            <model>src/main/mdo/nexus.xml</model>
+                        </configuration>
+                    </execution>
+
+                    <execution>
+                        <id>security.xml</id>
+                        <goals>
+                            <goal>java1</goal>
+                            <goal>xpp3-reader1</goal>
+                            <goal>xpp3-writer1</goal>
+                        </goals>
+                        <configuration>
+                            <version>1.0.0</version>
+                            <model>src/main/mdo/security.xml</model>
+                        </configuration>
+                    </execution>
+
+                </executions>
+            </plugin>
+        </plugins>
+        <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/foo/sub/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/foo/sub/pom.xml?rev=737156&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/foo/sub/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/foo/sub/pom.xml Fri Jan 23 11:24:27 2009
@@ -0,0 +1,418 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+ <!--
+  <parent>
+    <groupId>org.apache.maven.archetype</groupId>
+    <artifactId>maven-archetype</artifactId>
+    <version>2.0-alpha-1</version>
+  </parent>
+  -->
+  <artifactId>archetype-common</artifactId>
+  <name>Maven Archetype Common</name>
+  <packaging>jar</packaging>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>net.sourceforge.jchardet</groupId>
+      <artifactId>jchardet</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>dom4j</groupId>
+      <artifactId>dom4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>jdom</groupId>
+      <artifactId>jdom</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-project</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-container-default</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>maven-plugin-testing-harness</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-velocity</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>velocity</groupId>
+      <artifactId>velocity</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>dom4j</groupId>
+      <artifactId>dom4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.cargo</groupId>
+      <artifactId>cargo-core-api-container</artifactId>
+      <version>0.9</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.cargo</groupId>
+      <artifactId>cargo-core-api-util</artifactId>
+      <version>0.9</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.cargo</groupId>
+      <artifactId>cargo-core-api-generic</artifactId>
+      <version>0.9</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.cargo</groupId>
+      <artifactId>cargo-core-api-module</artifactId>
+      <version>0.9</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.cargo</groupId>
+      <artifactId>cargo-core-container-jetty</artifactId>
+      <version>0.9</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty</artifactId>
+      <version>6.1.4</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-file</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-http</artifactId>
+      <version>1.0-beta-2</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>archetype-repository</artifactId>
+      <version>${project.version}</version>
+      <type>war</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>archetype-proxy</artifactId>
+      <version>${project.version}</version>
+      <type>war</type>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <testResources>
+      <testResource>
+        <directory>src/test/resources</directory>
+        <filtering>true</filtering>
+      </testResource>
+    </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.modello</groupId>
+        <artifactId>modello-maven-plugin</artifactId>
+        <version>1.0-alpha-14</version>
+        <executions>
+          <execution>
+            <id>archetype-common</id>
+            <goals>
+              <goal>java</goal>
+              <goal>xsd</goal>
+              <goal>xpp3-reader</goal>
+              <goal>xpp3-writer</goal>
+            </goals>
+            <configuration>
+              <version>1.0.0</version>
+              <model>src/main/mdo/archetype-common.mdo</model>
+            </configuration>
+          </execution>
+          <execution>
+            <id>archetype-registry</id>
+            <goals>
+              <goal>java</goal>
+              <goal>xsd</goal>
+              <goal>xpp3-reader</goal>
+              <goal>xpp3-writer</goal>
+            </goals>
+            <configuration>
+              <version>1.0.0</version>
+              <model>src/main/mdo/archetype-registry.mdo</model>
+            </configuration>
+          </execution>
+          <execution>
+            <id>archetype-descriptor</id>
+            <goals>
+              <goal>java</goal>
+              <goal>xsd</goal>
+              <goal>xpp3-reader</goal>
+              <goal>xpp3-writer</goal>
+            </goals>
+            <configuration>
+              <version>1.0.0</version>
+              <model>src/main/mdo/archetype-descriptor.mdo</model>
+            </configuration>
+          </execution>
+          <execution>
+            <id>archetype-catalog</id>
+            <goals>
+              <goal>java</goal>
+              <goal>xsd</goal>
+              <goal>xpp3-reader</goal>
+              <goal>xpp3-writer</goal>
+            </goals>
+            <configuration>
+              <version>1.0.0</version>
+              <model>src/main/mdo/archetype-catalog.mdo</model>
+            </configuration>
+          </execution>
+          <execution>
+            <id>archetype-old</id>
+            <goals>
+              <goal>java</goal>
+              <goal>xsd</goal>
+              <goal>xpp3-reader</goal>
+              <goal>xpp3-writer</goal>
+            </goals>
+            <configuration>
+              <version>1.0.0</version>
+              <model>src/main/mdo/archetype.mdo</model>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy</id>
+            <phase>process-test-resources</phase>
+            <goals>
+              <goal>copy-dependencies</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>${project.build.directory}/wars</outputDirectory>
+              <overWriteReleases>true</overWriteReleases>
+              <overWriteSnapshots>true</overWriteSnapshots>
+              <includeTypes>war</includeTypes>
+              <stripVersion>true</stripVersion>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <dependencies>
+          <dependency>
+            <groupId>ant</groupId>
+            <artifactId>ant-antlr</artifactId>
+            <version>1.6.5</version>
+          </dependency>
+        </dependencies>
+
+        <executions>
+          <execution>
+            <id>archetype-test</id>
+            <phase>process-test-resources</phase>
+            <configuration>
+              <tasks>
+                <property name="test.projects.name" value="basic" />
+                <property name="test.projects.version" value="1.0" />
+                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+                <property name="test.projects.repository" value="repositories/central" />
+
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
+
+                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+
+          <execution>
+            <id>archetype-test-partial</id>
+            <phase>process-test-resources</phase>
+            <configuration>
+              <tasks>
+                <property name="test.projects.name" value="partial" />
+                <property name="test.projects.version" value="1.0" />
+                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+                <property name="test.projects.repository" value="repositories/central" />
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
+
+                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+
+          <execution>
+            <id>archetype-test-site</id>
+            <phase>process-test-resources</phase>
+            <configuration>
+              <tasks>
+                <property name="test.projects.name" value="site" />
+                <property name="test.projects.version" value="1.0" />
+                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+                <property name="test.projects.repository" value="repositories/central" />
+
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
+
+                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+
+          <execution>
+            <id>archetype-test-old</id>
+            <phase>process-test-resources</phase>
+            <configuration>
+              <tasks>
+                <property name="test.projects.name" value="old" />
+                <property name="test.projects.version" value="1.0" />
+                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+                <property name="test.projects.repository" value="repositories/central" />
+
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
+
+                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+
+          <execution>
+            <id>archetype-test-fileset</id>
+            <phase>process-test-resources</phase>
+            <configuration>
+              <tasks>
+                <property name="test.projects.name" value="fileset" />
+                <property name="test.projects.version" value="1.0" />
+                <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+                <property name="test.projects.repository" value="repositories/central" />
+
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
+
+                <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+
+          <execution>
+            <id>repository-metadata</id>
+            <phase>process-test-resources</phase>
+            <configuration>
+              <tasks>
+                <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+                <property name="test.projects.target.directory" value="archetypes" />
+                <property name="test.projects.repository" value="repositories/central" />
+
+                <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}" />
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <configuration>
+              <excludes>
+                  <exclude>**/ArchetyperRoundtripTest.java</exclude>
+                  <exclude>**/ArchetyperRoundtripWithProxyTest.java</exclude>
+                  <exclude>**/DefaultRepositoryCrawlerTest.java</exclude>
+              </excludes>
+          </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>cobertura-maven-plugin</artifactId>
+        <version>2.2</version>
+      </plugin>
+    </plugins>
+  </reporting>
+
+  <profiles>
+      <profile>
+          <id>internal-catalog</id>
+          <build>
+              <plugins>
+                  <plugin>
+                      <groupId>org.apache.maven.plugins</groupId>
+                      <artifactId>maven-surefire-plugin</artifactId>
+                      <configuration>
+                          <includes>
+                              <include>**/*Verification.java</include>
+                          </includes>
+                      </configuration>
+                  </plugin>
+              </plugins>
+          </build>
+      </profile>
+  </profiles>
+</project>
\ No newline at end of file

Added: maven/components/trunk/maven-project/src/test/resources-project-builder/single-configuration-inheritance/jetty-parent.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/single-configuration-inheritance/jetty-parent.xml?rev=737156&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/single-configuration-inheritance/jetty-parent.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/single-configuration-inheritance/jetty-parent.xml Fri Jan 23 11:24:27 2009
@@ -0,0 +1,37 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.mortbay.jetty</groupId>
+  <artifactId>jetty-parent</artifactId>
+  <packaging>pom</packaging>
+  <name>Jetty :: Administrative Parent</name>
+  <version>7</version>
+ 
+  <build>
+
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-enforcer-plugin</artifactId>
+        <version>1.0-alpha-3</version>
+        <executions>
+          <execution>
+            <id>enforce-java</id>
+            <goals>
+              <goal>enforce</goal>
+            </goals>
+            <configuration>
+              <rules>
+                <requireMavenVersion>
+                  <version>[2.0.6,)</version>
+                </requireMavenVersion>
+                <requireJavaVersion>
+                  <version>[1.5,)</version>
+                </requireJavaVersion>
+              </rules>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      </plugins>
+  </build>
+</project>

Added: maven/components/trunk/maven-project/src/test/resources-project-builder/single-configuration-inheritance/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/single-configuration-inheritance/pom.xml?rev=737156&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/single-configuration-inheritance/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/single-configuration-inheritance/pom.xml Fri Jan 23 11:24:27 2009
@@ -0,0 +1,41 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.mortbay.jetty</groupId>
+    <artifactId>jetty-parent</artifactId>
+    <version>7</version>
+      <relativePath>jetty-parent.xml</relativePath>
+  </parent>
+  <groupId>org.mortbay.jetty</groupId>
+  <artifactId>project</artifactId>
+  <packaging>pom</packaging>
+  <name>Jetty Server Project</name>
+  <version>6.1.12</version>
+  <build>
+    <defaultGoal>install</defaultGoal>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-enforcer-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>enforce-java</id>
+            <goals>
+              <goal>enforce</goal>
+            </goals>
+            <configuration>
+              <rules>
+                <requireMavenVersion>
+                  <version>2.0.6</version>
+                </requireMavenVersion>
+                <requireJavaVersion>
+                  <version>[1.4,)</version>
+                </requireJavaVersion>
+              </rules>
+            </configuration>
+          </execution>
+        </executions>
+      </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=737156&r1=737155&r2=737156&view=diff
==============================================================================
--- maven/components/trunk/pom.xml (original)
+++ maven/components/trunk/pom.xml Fri Jan 23 11:24:27 2009
@@ -55,7 +55,7 @@
     <plexusPluginManagerVersion>1.0-alpha-1</plexusPluginManagerVersion>
     <plexusUtilsVersion>1.5.6</plexusUtilsVersion>
     <wagonVersion>1.0-beta-4</wagonVersion>
-    <modelBuilderVersion>1.1</modelBuilderVersion>
+    <modelBuilderVersion>1.2</modelBuilderVersion>
     <mercuryVersion>1.0.0-alpha-2</mercuryVersion>
     <woodstoxVersion>3.2.6</woodstoxVersion>
     <modelloVersion>1.0-alpha-22</modelloVersion>