You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2009/06/26 19:55:28 UTC

svn commit: r788791 - in /maven/components/branches/maven-2.2.x: ./ apache-maven/ apache-maven/src/assemble/ apache-maven/src/bin/ maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ maven-compat/ maven-compat/src/ maven-compat/src...

Author: jdcasey
Date: Fri Jun 26 17:55:26 2009
New Revision: 788791

URL: http://svn.apache.org/viewvc?rev=788791&view=rev
Log:
Merging changes up to revId 788569 from maven-2.2.0-RC branch.

Added:
    maven/components/branches/maven-2.2.x/apache-maven/src/assemble/source-release.xml
    maven/components/branches/maven-2.2.x/maven-compat/
    maven/components/branches/maven-2.2.x/maven-compat/pom.xml
    maven/components/branches/maven-2.2.x/maven-compat/src/
    maven/components/branches/maven-2.2.x/maven-compat/src/main/
    maven/components/branches/maven-2.2.x/maven-compat/src/main/java/
    maven/components/branches/maven-2.2.x/maven-compat/src/main/java/org/
    maven/components/branches/maven-2.2.x/maven-compat/src/main/java/org/apache/
    maven/components/branches/maven-2.2.x/maven-compat/src/main/java/org/apache/maven/
    maven/components/branches/maven-2.2.x/maven-compat/src/main/java/org/apache/maven/cli/
    maven/components/branches/maven-2.2.x/maven-compat/src/main/java/org/apache/maven/cli/compat/
    maven/components/branches/maven-2.2.x/maven-compat/src/main/java/org/apache/maven/cli/compat/CompatibleMain.java
    maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/
    maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/alternative-encoding-pom.xml
      - copied, changed from r788788, maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/alternative-encoding-pom.xml
    maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/invalid-pom.xml
      - copied, changed from r788788, maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/invalid-pom.xml
    maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/pom-with-build-dir-expression.xml
      - copied, changed from r788788, maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/pom-with-comments.xml
    maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/pom-with-comments.xml
      - copied, changed from r788788, maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/pom-with-comments.xml
Removed:
    maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/artifact/ArtifactWithProject.java
    maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/artifact/VersionExpressionTransformation.java
    maven/components/branches/maven-2.2.x/maven-project/src/test/java/org/apache/maven/project/artifact/VersionExpressionTransformationTest.java
    maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/alternative-encoding-pom.xml
    maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/invalid-pom.xml
    maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/pom-with-comments.xml
Modified:
    maven/components/branches/maven-2.2.x/apache-maven/pom.xml
    maven/components/branches/maven-2.2.x/apache-maven/src/bin/m2.conf
    maven/components/branches/maven-2.2.x/build.xml
    maven/components/branches/maven-2.2.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
    maven/components/branches/maven-2.2.x/maven-core/pom.xml
    maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java
    maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
    maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
    maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java
    maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
    maven/components/branches/maven-2.2.x/maven-core/src/main/resources/META-INF/plexus/components.xml
    maven/components/branches/maven-2.2.x/maven-core/src/test/java/org/apache/maven/cli/MavenCliTest.java
    maven/components/branches/maven-2.2.x/maven-profile/pom.xml
    maven/components/branches/maven-2.2.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java
    maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
    maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactFactory.java
    maven/components/branches/maven-2.2.x/maven-project/src/main/resources/META-INF/plexus/components.xml
    maven/components/branches/maven-2.2.x/maven-project/src/test/java/org/apache/maven/project/MavenProjectDynamismTest.java
    maven/components/branches/maven-2.2.x/pom.xml

Modified: maven/components/branches/maven-2.2.x/apache-maven/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/apache-maven/pom.xml?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/apache-maven/pom.xml (original)
+++ maven/components/branches/maven-2.2.x/apache-maven/pom.xml Fri Jun 26 17:55:26 2009
@@ -78,9 +78,6 @@
                 <relocation>
                   <pattern>org.apache.jackrabbit</pattern>
                 </relocation>
-                <relocation>
-                  <pattern>org.slf4j</pattern>
-                </relocation>
 
                 <!-- For http/webdav wagons -->
                 <relocation>
@@ -89,6 +86,9 @@
                 <relocation>
                   <pattern>org.apache.commons.logging</pattern>
                 </relocation>
+                <relocation>
+                  <pattern>org.slf4j</pattern>
+                </relocation>
 
                 <!-- For maven-artifact-manager -->
                 <relocation>
@@ -124,10 +124,10 @@
       </plugin>
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
-        <version>2.1</version>
+        <version>2.2-beta-4</version>
         <executions>
           <execution>
-            <id>bin-assembly</id>
+            <id>assemblies</id>
             <phase>package</phase>
             <goals>
               <goal>single</goal>
@@ -146,6 +146,10 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.maven</groupId>
+      <artifactId>maven-compat</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
       <artifactId>maven-core</artifactId>
     </dependency>
     <dependency>
@@ -215,6 +219,7 @@
                 <configuration>
                   <descriptors>
                     <descriptor>src/assemble/src.xml</descriptor>
+                    <descriptor>src/assemble/source-release.xml</descriptor>
                   </descriptors>
                   <tarLongFileMode>gnu</tarLongFileMode>
                 </configuration>

Added: maven/components/branches/maven-2.2.x/apache-maven/src/assemble/source-release.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/apache-maven/src/assemble/source-release.xml?rev=788791&view=auto
==============================================================================
--- maven/components/branches/maven-2.2.x/apache-maven/src/assemble/source-release.xml (added)
+++ maven/components/branches/maven-2.2.x/apache-maven/src/assemble/source-release.xml Fri Jun 26 17:55:26 2009
@@ -0,0 +1,22 @@
+<assembly>
+  <id>source-release</id>
+  <formats>
+    <format>zip</format>
+    <format>tar.gz</format>
+  </formats>
+  <fileSets>
+    <fileSet>
+      <directory>${project.basedir}/..</directory>
+      <outputDirectory>/</outputDirectory>
+      <excludes>
+        <exclude>%regex[(?!.*src/).*target.*]</exclude>
+        <exclude>**/*.log</exclude>
+      </excludes>
+    </fileSet>
+    <fileSet>
+      <directory>${project.build.directory}/maven-shared-archive-resources/META-INF</directory>
+      <outputDirectory>/</outputDirectory>
+    </fileSet>
+  </fileSets>
+  
+</assembly>
\ No newline at end of file

Modified: maven/components/branches/maven-2.2.x/apache-maven/src/bin/m2.conf
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/apache-maven/src/bin/m2.conf?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/apache-maven/src/bin/m2.conf (original)
+++ maven/components/branches/maven-2.2.x/apache-maven/src/bin/m2.conf Fri Jun 26 17:55:26 2009
@@ -1,4 +1,4 @@
-main is org.apache.maven.cli.MavenCli from plexus.core
+main is org.apache.maven.cli.compat.CompatibleMain from plexus.core
 
 set maven.home default ${user.home}/m2
 

Modified: maven/components/branches/maven-2.2.x/build.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/build.xml?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/build.xml (original)
+++ maven/components/branches/maven-2.2.x/build.xml Fri Jun 26 17:55:26 2009
@@ -184,8 +184,14 @@
   </target>
 
   <target name="maven-compile" depends="compile-boot" description="compiles Maven using the bootstrap Maven, skipping automated tests">
-    <java fork="true" classname="org.apache.maven.cli.MavenCli" failonerror="true">
+    <java fork="true" classname="org.apache.maven.cli.compat.CompatibleMain" failonerror="true">
       <jvmarg value="-Xmx256M"/>
+      
+      <!-- <jvmarg value="-Xdebug"/>
+      <jvmarg value="-Xnoagent"/>
+      <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,address=8000"/>
+      <jvmarg value="-Djava.compiler=NONE"/> -->
+
       <classpath refid="maven.classpath"/>
       <arg value="-e"/>
       <arg value="-B"/>
@@ -218,6 +224,7 @@
     <chmod perm="+x">
       <fileset dir="${maven.home}/bin">
         <include name="mvn"/>
+        <include name="mvnDebug"/>
       </fileset>
     </chmod>
   </target>

Modified: maven/components/branches/maven-2.2.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java (original)
+++ maven/components/branches/maven-2.2.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java Fri Jun 26 17:55:26 2009
@@ -460,5 +460,6 @@
         
         assertLocalArtifactPresent( g3 );
     }
+
 }
 

Added: maven/components/branches/maven-2.2.x/maven-compat/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-compat/pom.xml?rev=788791&view=auto
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-compat/pom.xml (added)
+++ maven/components/branches/maven-2.2.x/maven-compat/pom.xml Fri Jun 26 17:55:26 2009
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+--><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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven</groupId>
+    <artifactId>maven</artifactId>
+    <version>2.2.1-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>maven-compat</artifactId>
+
+  <name>Maven Compatibility Layer</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-container-default</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+      <exclusions>
+        <exclusion>
+          <artifactId>commons-lang</artifactId>
+          <groupId>commons-lang</groupId>
+        </exclusion>
+        <exclusion>
+          <artifactId>commons-logging</artifactId>
+          <groupId>commons-logging</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>classworlds</groupId>
+      <artifactId>classworlds</artifactId>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>2.0.2</version>
+          <configuration>
+            <source>1.3</source>
+            <target>1.3</target>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>clirr-maven-plugin</artifactId>
+          <configuration>
+            <!-- This is goofy and a little childish. :-)
+            
+                 We're comparing vs. maven-core from previous release (why not?). We have to do this
+                 because clirr:check doesn't have a skip flag, and this module didn't exist in the last
+                 release...so, without this weirdo configuration, clirr fails the build at the verify
+                 stage of this module build, thereby killing the release attempt.
+             -->
+            <comparisonArtifacts>
+              <comparisonArtifact>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>maven-core</artifactId>
+                <version>2.1.0</version>
+              </comparisonArtifact>
+            </comparisonArtifacts>
+            <excludes>
+              <exclude>**</exclude>
+            </excludes>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>

Added: maven/components/branches/maven-2.2.x/maven-compat/src/main/java/org/apache/maven/cli/compat/CompatibleMain.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-compat/src/main/java/org/apache/maven/cli/compat/CompatibleMain.java?rev=788791&view=auto
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-compat/src/main/java/org/apache/maven/cli/compat/CompatibleMain.java (added)
+++ maven/components/branches/maven-2.2.x/maven-compat/src/main/java/org/apache/maven/cli/compat/CompatibleMain.java Fri Jun 26 17:55:26 2009
@@ -0,0 +1,43 @@
+package org.apache.maven.cli.compat;
+
+import org.apache.maven.cli.MavenCli;
+import org.codehaus.classworlds.ClassWorld;
+
+/**
+ * Main class used to shield the user from the rest of Maven in the event the user is using JDK < 1.5.
+ * 
+ * @since 2.2.0
+ */
+public class CompatibleMain
+{
+
+    public static void main( String[] args )
+    {
+        ClassWorld classWorld = new ClassWorld( "plexus.core", Thread.currentThread().getContextClassLoader() );
+
+        int result = main( args, classWorld );
+
+        System.exit( result );
+    }
+
+    /**
+     * @noinspection ConfusingMainMethod
+     */
+    public static int main( String[] args, ClassWorld classWorld )
+    {
+        // ----------------------------------------------------------------------
+        // Setup the command line parser
+        // ----------------------------------------------------------------------
+        
+        String javaVersion = System.getProperty( "java.specification.version", "1.5" );
+        if ( "1.4".equals( javaVersion ) || "1.3".equals( javaVersion ) 
+             || "1.2".equals( javaVersion )  || "1.1".equals( javaVersion ) )
+        {
+	        System.out.println( "Java specification version: " + javaVersion );
+            System.err.println( "This release of Maven requires Java version 1.5 or greater." );
+            return 1;
+        }
+        
+        return MavenCli.main( args, classWorld );
+    }
+}

Modified: maven/components/branches/maven-2.2.x/maven-core/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-core/pom.xml?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-core/pom.xml (original)
+++ maven/components/branches/maven-2.2.x/maven-core/pom.xml Fri Jun 26 17:55:26 2009
@@ -47,11 +47,33 @@
       <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-webdav-jackrabbit</artifactId>
       <scope>runtime</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>commons-logging</groupId>
+          <artifactId>commons-logging</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-http</artifactId>
       <scope>runtime</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>commons-logging</groupId>
+          <artifactId>commons-logging</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-jdk14</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+      <scope>runtime</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
@@ -167,6 +189,41 @@
         <filtering>true</filtering>
       </resource>
     </resources>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>2.0.2</version>
+          <executions>
+            <execution>
+              <id>default</id>
+              <configuration>
+                <source>1.5</source>
+                <target>1.5</target>
+                <excludes>
+                  <exclude>**/cli/*.java</exclude>
+                </excludes>
+              </configuration>
+            </execution>
+            <execution>
+              <id>cli</id>
+              <goals>
+                <goal>compile</goal>
+                <goal>testCompile</goal>
+              </goals>
+              <configuration>
+                <source>1.4</source>
+                <target>1.4</target>
+                <includes>
+                  <include>**/cli/*.java</include>
+                </includes>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
   </build>
 
   <reporting>

Modified: maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java (original)
+++ maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java Fri Jun 26 17:55:26 2009
@@ -65,7 +65,7 @@
 
         artifacts.add( "classworlds" );
         artifacts.add( "jsch" );
-        artifacts.add( "commons-cli" );
+//        artifacts.add( "commons-cli" );
         artifacts.add( "doxia-sink-api" );
         artifacts.add( "doxia-logging-api" );
         artifacts.add( "maven-artifact" );

Modified: maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java Fri Jun 26 17:55:26 2009
@@ -90,6 +90,9 @@
 
     private static Embedder embedder;
 
+    /**
+     * @deprecated Use {@link Main#main(String[])} instead.
+     */
     public static void main( String[] args )
     {
         ClassWorld classWorld = new ClassWorld( "plexus.core", Thread.currentThread().getContextClassLoader() );
@@ -107,7 +110,7 @@
         // ----------------------------------------------------------------------
         // Setup the command line parser
         // ----------------------------------------------------------------------
-
+        
         CLIManager cliManager = new CLIManager();
 
         CommandLine commandLine;
@@ -180,184 +183,199 @@
             return 1;
         }
 
-        // ----------------------------------------------------------------------
-        // The execution properties need to be created before the settings
-        // are constructed.
-        // ----------------------------------------------------------------------
-
-        Properties executionProperties = new Properties();
-        Properties userProperties = new Properties();
-        populateProperties( commandLine, executionProperties, userProperties );
-
-        Settings settings;
-
+        // wraps the following code to ensure the embedder is stopped no matter what else happens.
         try
         {
-            settings = buildSettings( commandLine );
-        }
-        catch ( SettingsConfigurationException e )
-        {
-            showError( "Error reading settings.xml: " + e.getMessage(), e, showErrors );
+            // ----------------------------------------------------------------------
+            // The execution properties need to be created before the settings
+            // are constructed.
+            // ----------------------------------------------------------------------
 
-            return 1;
-        }
-        catch ( ComponentLookupException e )
-        {
-            showFatalError( "Unable to read settings.xml", e, showErrors );
+            Properties executionProperties = new Properties();
+            Properties userProperties = new Properties();
+            populateProperties( commandLine, executionProperties, userProperties );
 
-            return 1;
-        }
+            Settings settings;
 
-        DefaultSecDispatcher dispatcher;
-        try
-        {
-            if ( commandLine.hasOption( CLIManager.ENCRYPT_MASTER_PASSWORD ) )
+            try
+            {
+                settings = buildSettings( commandLine );
+            }
+            catch ( SettingsConfigurationException e )
             {
-                String passwd = commandLine.getOptionValue( CLIManager.ENCRYPT_MASTER_PASSWORD );
+                showError( "Error reading settings.xml: " + e.getMessage(), e, showErrors );
 
-                DefaultPlexusCipher cipher = new DefaultPlexusCipher();
+                return 1;
+            }
+            catch ( ComponentLookupException e )
+            {
+                showFatalError( "Unable to read settings.xml", e, showErrors );
 
-                System.out.println( cipher.encryptAndDecorate( passwd,
-                                                               DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION ) );
-                
-                return 0;
+                return 1;
             }
-            else if ( commandLine.hasOption( CLIManager.ENCRYPT_PASSWORD ) )
+
+            DefaultSecDispatcher dispatcher;
+            try
             {
-                String passwd = commandLine.getOptionValue( CLIManager.ENCRYPT_PASSWORD );
-                
-                dispatcher = (DefaultSecDispatcher) embedder.lookup( SecDispatcher.ROLE );
-                String configurationFile = dispatcher.getConfigurationFile();
-                if ( configurationFile.startsWith( "~" ) )
+                if ( commandLine.hasOption( CLIManager.ENCRYPT_MASTER_PASSWORD ) )
                 {
-                    configurationFile = System.getProperty( "user.home" ) + configurationFile.substring( 1 );
+                    String passwd = commandLine.getOptionValue( CLIManager.ENCRYPT_MASTER_PASSWORD );
+
+                    DefaultPlexusCipher cipher = new DefaultPlexusCipher();
+
+                    System.out.println( cipher.encryptAndDecorate( passwd,
+                                                                   DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION ) );
+                    
+                    return 0;
                 }
-                String file = System.getProperty( DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION, configurationFile );
-                embedder.release( dispatcher );
-                
-                String master = null;
-                
-                SettingsSecurity sec = SecUtil.read( file, true );
-                if ( sec != null )
+                else if ( commandLine.hasOption( CLIManager.ENCRYPT_PASSWORD ) )
                 {
-                    master = sec.getMaster();
-                }
+                    String passwd = commandLine.getOptionValue( CLIManager.ENCRYPT_PASSWORD );
+                    
+                    dispatcher = (DefaultSecDispatcher) embedder.lookup( SecDispatcher.ROLE );
+                    String configurationFile = dispatcher.getConfigurationFile();
+                    if ( configurationFile.startsWith( "~" ) )
+                    {
+                        configurationFile = System.getProperty( "user.home" ) + configurationFile.substring( 1 );
+                    }
+                    String file = System.getProperty( DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION, configurationFile );
+                    embedder.release( dispatcher );
+                    
+                    String master = null;
+                    
+                    SettingsSecurity sec = SecUtil.read( file, true );
+                    if ( sec != null )
+                    {
+                        master = sec.getMaster();
+                    }
 
-                if ( master == null )
-                {
-                    System.err.println( "Master password is not set in the setting security file" );
+                    if ( master == null )
+                    {
+                        System.err.println( "Master password is not set in the setting security file" );
+                        
+                        return 1;
+                    }
+                    
+                    DefaultPlexusCipher cipher = new DefaultPlexusCipher();
+                    String masterPasswd =
+                        cipher.decryptDecorated( master, DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION );
+                    System.out.println( cipher.encryptAndDecorate( passwd, masterPasswd ) );
                     
-                    return 1;
+                    return 0;
                 }
+            }
+            catch ( Exception e )
+            {
+                showFatalError( "Error encrypting password: " + e.getMessage(), e, showErrors );
                 
-                DefaultPlexusCipher cipher = new DefaultPlexusCipher();
-                String masterPasswd =
-                    cipher.decryptDecorated( master, DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION );
-                System.out.println( cipher.encryptAndDecorate( passwd, masterPasswd ) );
-                
-                return 0;
+                return 1;
             }
-        }
-        catch ( Exception e )
-        {
-            showFatalError( "Error encrypting password: " + e.getMessage(), e, showErrors );
-            
-            return 1;
-        }
-            
-        Maven maven = null;
-
-        MavenExecutionRequest request = null;
+                
+            Maven maven = null;
 
-        LoggerManager loggerManager = null;
+            MavenExecutionRequest request = null;
 
-        try
-        {
-            // logger must be created first
-            loggerManager = (LoggerManager) embedder.lookup( LoggerManager.ROLE );
+            LoggerManager loggerManager = null;
 
-            if ( debug )
-            {
-                loggerManager.setThreshold( Logger.LEVEL_DEBUG );
-            }
-            else if ( commandLine.hasOption( CLIManager.QUIET ) )
+            try
             {
-                // TODO: we need to do some more work here. Some plugins use sys out or log errors at info level.
-                // Ideally, we could use Warn across the board
-                loggerManager.setThreshold( Logger.LEVEL_ERROR );
-                // TODO:Additionally, we can't change the mojo level because the component key includes the version and it isn't known ahead of time. This seems worth changing.
-            }
+                // logger must be created first
+                loggerManager = (LoggerManager) embedder.lookup( LoggerManager.ROLE );
 
-            ProfileManager profileManager = new DefaultProfileManager( embedder.getContainer(), executionProperties );
+                if ( debug )
+                {
+                    loggerManager.setThreshold( Logger.LEVEL_DEBUG );
+                }
+                else if ( commandLine.hasOption( CLIManager.QUIET ) )
+                {
+                    // TODO: we need to do some more work here. Some plugins use sys out or log errors at info level.
+                    // Ideally, we could use Warn across the board
+                    loggerManager.setThreshold( Logger.LEVEL_ERROR );
+                    // TODO:Additionally, we can't change the mojo level because the component key includes the version and it isn't known ahead of time. This seems worth changing.
+                }
 
-            if ( commandLine.hasOption( CLIManager.ACTIVATE_PROFILES ) )
-            {
-                String [] profileOptionValues = commandLine.getOptionValues( CLIManager.ACTIVATE_PROFILES );
+                ProfileManager profileManager = new DefaultProfileManager( embedder.getContainer(), executionProperties );
 
-                if ( profileOptionValues != null )
+                if ( commandLine.hasOption( CLIManager.ACTIVATE_PROFILES ) )
                 {
-                    for ( int i=0; i < profileOptionValues.length; ++i )
-                    {
-                        StringTokenizer profileTokens = new StringTokenizer( profileOptionValues[i], "," );
+                    String [] profileOptionValues = commandLine.getOptionValues( CLIManager.ACTIVATE_PROFILES );
 
-                        while ( profileTokens.hasMoreTokens() )
+                    if ( profileOptionValues != null )
+                    {
+                        for ( int i=0; i < profileOptionValues.length; ++i )
                         {
-                            String profileAction = profileTokens.nextToken().trim();
+                            StringTokenizer profileTokens = new StringTokenizer( profileOptionValues[i], "," );
 
-                            if ( profileAction.startsWith( "-" ) || profileAction.startsWith( "!" ) )
-                            {
-                                profileManager.explicitlyDeactivate( profileAction.substring( 1 ) );
-                            }
-                            else if ( profileAction.startsWith( "+" ) )
-                            {
-                                profileManager.explicitlyActivate( profileAction.substring( 1 ) );
-                            }
-                            else
+                            while ( profileTokens.hasMoreTokens() )
                             {
-                                profileManager.explicitlyActivate( profileAction );
+                                String profileAction = profileTokens.nextToken().trim();
+
+                                if ( profileAction.startsWith( "-" ) || profileAction.startsWith( "!" ) )
+                                {
+                                    profileManager.explicitlyDeactivate( profileAction.substring( 1 ) );
+                                }
+                                else if ( profileAction.startsWith( "+" ) )
+                                {
+                                    profileManager.explicitlyActivate( profileAction.substring( 1 ) );
+                                }
+                                else
+                                {
+                                    profileManager.explicitlyActivate( profileAction );
+                                }
                             }
                         }
                     }
                 }
-            }
 
-            request = createRequest( commandLine, settings, eventDispatcher, loggerManager, profileManager,
-                                     executionProperties, userProperties, showErrors );
+                request = createRequest( commandLine, settings, eventDispatcher, loggerManager, profileManager,
+                                         executionProperties, userProperties, showErrors );
 
-            setProjectFileOptions( commandLine, request );
+                setProjectFileOptions( commandLine, request );
 
-            maven =
-                createMavenInstance( settings.isInteractiveMode(),
-                                     loggerManager.getLoggerForComponent( WagonManager.ROLE ) );
-        }
-        catch ( ComponentLookupException e )
-        {
-            showFatalError( "Unable to configure the Maven application", e, showErrors );
+                maven =
+                    createMavenInstance( settings.isInteractiveMode(),
+                                         loggerManager.getLoggerForComponent( WagonManager.ROLE ) );
+            }
+            catch ( ComponentLookupException e )
+            {
+                showFatalError( "Unable to configure the Maven application", e, showErrors );
 
-            return 1;
-        }
-        finally
-        {
-            if ( loggerManager != null )
+                return 1;
+            }
+            finally
             {
-                try
-                {
-                    embedder.release( loggerManager );
-                }
-                catch ( ComponentLifecycleException e )
+                if ( loggerManager != null )
                 {
-                    showFatalError( "Error releasing logging manager", e, showErrors );
+                    try
+                    {
+                        embedder.release( loggerManager );
+                    }
+                    catch ( ComponentLifecycleException e )
+                    {
+                        showFatalError( "Error releasing logging manager", e, showErrors );
+                    }
                 }
             }
-        }
 
-        try
-        {
-            maven.execute( request );
+            try
+            {
+                maven.execute( request );
+            }
+            catch ( MavenExecutionException e )
+            {
+                return 1;
+            }
         }
-        catch ( MavenExecutionException e )
+        finally
         {
-            return 1;
+            try
+            {
+                embedder.stop();
+            }
+            catch ( Exception e )
+            {
+                // do nothing; we took our best shot.
+            }
         }
 
         return 0;

Modified: maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original)
+++ maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Fri Jun 26 17:55:26 2009
@@ -550,8 +550,8 @@
     {
         // guaranteed to come from the CLI and not be part of a phase
         MojoDescriptor mojoDescriptor = getMojoDescriptor( task, session, project, task, true, false );
-        executeGoals( Collections.singletonList( new MojoExecution( mojoDescriptor ) ), forkEntryPoints, session,
-                      project );
+        executeGoals( Collections.singletonList( new MojoExecution( mojoDescriptor, MojoExecution.CLI_EXECUTION_ID ) ),
+                      forkEntryPoints, session, project );
     }
 
     private void executeGoals( List goals, Stack forkEntryPoints, MavenSession session, MavenProject project )
@@ -624,7 +624,7 @@
             {
                 forkEntryPoints.push( mojoDescriptor );
 
-                forkLifecycle( mojoDescriptor, forkEntryPoints, session, project );
+                forkLifecycle( mojoDescriptor, forkEntryPoints, session, project, mojoExecution.getExecutionId() );
 
                 forkEntryPoints.pop();
             }
@@ -644,7 +644,7 @@
                     {
                         forkEntryPoints.push( descriptor );
 
-                        forkLifecycle( descriptor, forkEntryPoints, session, project );
+                        forkLifecycle( descriptor, forkEntryPoints, session, project, forkedExecution.getExecutionId() );
 
                         forkEntryPoints.pop();
                     }
@@ -930,8 +930,21 @@
                 {
                     id = reportSet.getId();
                 }
+                else
+                {
+                    id = mojoExecution.getExecutionId();
+                }
+                
+                MojoExecution reportExecution;
+                if ( id.startsWith( MojoExecution.DEFAULT_EXEC_ID_PREFIX ) )
+                {
+                    reportExecution = new MojoExecution( mojoDescriptor );
+                }
+                else
+                {
+                    reportExecution = new MojoExecution( mojoDescriptor, id );
+                }
 
-                MojoExecution reportExecution = new MojoExecution( mojoDescriptor, id );
                 reports.add( reportExecution );
             }
         }
@@ -983,7 +996,7 @@
     }
 
     private void forkLifecycle( MojoDescriptor mojoDescriptor, Stack ancestorLifecycleForkers, MavenSession session,
-                                MavenProject project )
+                                MavenProject project, String executionId )
         throws LifecycleExecutionException, BuildFailureException, PluginNotFoundException
     {
         PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
@@ -1001,17 +1014,17 @@
 
                 line();
 
-                forkProjectLifecycle( mojoDescriptor, ancestorLifecycleForkers, session, reactorProject );
+                forkProjectLifecycle( mojoDescriptor, ancestorLifecycleForkers, session, reactorProject, executionId );
             }
         }
         else
         {
-            forkProjectLifecycle( mojoDescriptor, ancestorLifecycleForkers, session, project );
+            forkProjectLifecycle( mojoDescriptor, ancestorLifecycleForkers, session, project, executionId );
         }
     }
 
     private void forkProjectLifecycle( MojoDescriptor mojoDescriptor, Stack forkEntryPoints, MavenSession session,
-                                       MavenProject project )
+                                       MavenProject project, String executionId )
         throws LifecycleExecutionException, BuildFailureException, PluginNotFoundException
     {
         project = project.getExecutionProject();
@@ -1128,7 +1141,16 @@
                             }
 
                             MojoDescriptor desc = getMojoDescriptor( lifecyclePluginDescriptor, lifecycleGoal );
-                            MojoExecution mojoExecution = new MojoExecution( desc, configuration );
+                            MojoExecution mojoExecution;
+                            if ( executionId.startsWith( MojoExecution.DEFAULT_EXEC_ID_PREFIX ) )
+                            {
+                                mojoExecution = new MojoExecution( desc, configuration );
+                            }
+                            else
+                            {
+                                mojoExecution = new MojoExecution( desc, configuration, executionId );
+                            }
+                            
                             addToLifecycleMappings( lifecycleMappings, phase.getId(), mojoExecution,
                                                     session.getSettings() );
                         }
@@ -1171,7 +1193,7 @@
         {
             String goal = mojoDescriptor.getExecuteGoal();
             MojoDescriptor desc = getMojoDescriptor( pluginDescriptor, goal );
-            executeGoals( Collections.singletonList( new MojoExecution( desc ) ), forkEntryPoints, session, project );
+            executeGoals( Collections.singletonList( new MojoExecution( desc, goal ) ), forkEntryPoints, session, project );
         }
     }
 

Modified: maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java (original)
+++ maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java Fri Jun 26 17:55:26 2009
@@ -33,6 +33,12 @@
  */
 public class MojoExecution
 {
+    public static final String DEFAULT_EXEC_ID_PREFIX = "default-";
+
+    public static final String CLI_EXECUTION_ID = DEFAULT_EXEC_ID_PREFIX + "cli";
+
+    // Execution ID needs to default to "default" to allow configuration of that execution alongside
+    // other executions.
     private final String executionId;
 
     private final MojoDescriptor mojoDescriptor;
@@ -46,8 +52,8 @@
     public MojoExecution( MojoDescriptor mojoDescriptor )
     {
         this.mojoDescriptor = mojoDescriptor;
-        this.executionId = null;
         this.configuration = null;
+        this.executionId = DEFAULT_EXEC_ID_PREFIX + mojoDescriptor.getGoal();
     }
 
     public MojoExecution( MojoDescriptor mojoDescriptor, String executionId )
@@ -61,7 +67,14 @@
     {
         this.mojoDescriptor = mojoDescriptor;
         this.configuration = configuration;
-        this.executionId = null;
+        this.executionId = DEFAULT_EXEC_ID_PREFIX + mojoDescriptor.getGoal();
+    }
+
+    public MojoExecution( MojoDescriptor mojoDescriptor, Xpp3Dom configuration, String executionId )
+    {
+        this.mojoDescriptor = mojoDescriptor;
+        this.configuration = configuration;
+        this.executionId = executionId;
     }
 
     public String getExecutionId()

Modified: maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java (original)
+++ maven/components/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java Fri Jun 26 17:55:26 2009
@@ -92,12 +92,12 @@
 
         if ( project != null )
         {
-            File projectFile = project.getFile();
+            File baseDir = project.getBasedir();
 
             // this should always be the case for non-super POM instances...
-            if ( projectFile != null )
+            if ( baseDir != null )
             {
-                basedir = projectFile.getParentFile().getAbsolutePath();
+                basedir = baseDir.getAbsolutePath();
             }
         }
 

Modified: maven/components/branches/maven-2.2.x/maven-core/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-core/src/main/resources/META-INF/plexus/components.xml?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-core/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/branches/maven-2.2.x/maven-core/src/main/resources/META-INF/plexus/components.xml Fri Jun 26 17:55:26 2009
@@ -413,8 +413,7 @@
                 org.apache.maven.plugins:maven-plugin-plugin:addPluginArtifactMetadata
               </package>
               <install>
-                org.apache.maven.plugins:maven-install-plugin:install,
-                org.apache.maven.plugins:maven-plugin-plugin:updateRegistry
+                org.apache.maven.plugins:maven-install-plugin:install
               </install>
               <deploy>
                 org.apache.maven.plugins:maven-deploy-plugin:deploy

Modified: maven/components/branches/maven-2.2.x/maven-core/src/test/java/org/apache/maven/cli/MavenCliTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-core/src/test/java/org/apache/maven/cli/MavenCliTest.java?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-core/src/test/java/org/apache/maven/cli/MavenCliTest.java (original)
+++ maven/components/branches/maven-2.2.x/maven-core/src/test/java/org/apache/maven/cli/MavenCliTest.java Fri Jun 26 17:55:26 2009
@@ -44,6 +44,12 @@
         MavenCli.populateProperties( ( new CLIManager() ).parse( new String[] {
             "-Dtest.property.2=2.1",
             "-Dtest.property.3=3.0" } ), execProperties, userProperties );
+        
+        System.out.println( "Execution properties:\n\n" );
+        execProperties.list( System.out );
+        
+        System.out.println( "\n\nUser properties:\n\n" );
+        userProperties.list( System.out );
 
         // assume that everybody has a PATH env var
         String envPath = execProperties.getProperty( "env.PATH" );

Modified: maven/components/branches/maven-2.2.x/maven-profile/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-profile/pom.xml?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-profile/pom.xml (original)
+++ maven/components/branches/maven-2.2.x/maven-profile/pom.xml Fri Jun 26 17:55:26 2009
@@ -40,6 +40,10 @@
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-interpolation</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
     </dependency>
   </dependencies>

Modified: maven/components/branches/maven-2.2.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java (original)
+++ maven/components/branches/maven-2.2.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java Fri Jun 26 17:55:26 2009
@@ -20,11 +20,11 @@
  */
 
 import org.apache.maven.profiles.io.xpp3.ProfilesXpp3Reader;
+import org.codehaus.plexus.interpolation.EnvarBasedValueSource;
+import org.codehaus.plexus.interpolation.RegexBasedInterpolator;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.interpolation.EnvarBasedValueSource;
-import org.codehaus.plexus.util.interpolation.RegexBasedInterpolator;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 import java.io.File;

Modified: maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Fri Jun 26 17:55:26 2009
@@ -19,25 +19,6 @@
  * under the License.
  */
 
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.ArtifactStatus;
 import org.apache.maven.artifact.ArtifactUtils;
@@ -101,6 +82,25 @@
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+
 /*:apt
 
  -----
@@ -171,7 +171,7 @@
     private ModelDefaultsInjector modelDefaultsInjector;
 
     private ModelInterpolator modelInterpolator;
-
+    
     private ArtifactRepositoryFactory artifactRepositoryFactory;
 
     // ----------------------------------------------------------------------
@@ -906,16 +906,7 @@
             // Only track the file of a POM in the source tree
             project.setFile( projectDescriptor );
         }
-
-//        try
-//        {
-//            calculateConcreteState( project, config );
-//        }
-//        catch ( ModelInterpolationException e )
-//        {
-//            throw new InvalidProjectModelException( projectId, pomLocation, e.getMessage(), e );
-//        }
-
+        
         project.setManagedVersionMap( createManagedVersionMap( projectId,
                                                                project.getDependencyManagement(),
                                                                project.getParent() ) );

Modified: maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactFactory.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactFactory.java?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactFactory.java (original)
+++ maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactFactory.java Fri Jun 26 17:55:26 2009
@@ -19,26 +19,33 @@
  * under the License.
  */
 
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
 import org.apache.maven.artifact.factory.DefaultArtifactFactory;
 import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.project.MavenProject;
 
 public class ProjectArtifactFactory
     extends DefaultArtifactFactory
 {
     
-    public ArtifactWithProject create( MavenProject project )
+    public Artifact create( MavenProject project )
     {
         ArtifactHandler handler = getArtifactHandlerManager().getArtifactHandler( project.getPackaging() );
 
-        return new ArtifactWithProject( project, project.getPackaging(), null, handler, false );
+        return new DefaultArtifact( project.getGroupId(), project.getArtifactId(),
+                                    VersionRange.createFromVersion( project.getVersion() ), null,
+                                    project.getPackaging(), null, handler, false );
     }
 
-    public ArtifactWithProject create( MavenProject project, String type, String classifier, boolean optional )
+    public Artifact create( MavenProject project, String type, String classifier, boolean optional )
     {
         ArtifactHandler handler = getArtifactHandlerManager().getArtifactHandler( type );
 
-        return new ArtifactWithProject( project, type, classifier, handler, optional );
+        return new DefaultArtifact( project.getGroupId(), project.getArtifactId(),
+                                    VersionRange.createFromVersion( project.getVersion() ), null,
+                                    project.getPackaging(), null, handler, optional );
     }
 
 }

Modified: maven/components/branches/maven-2.2.x/maven-project/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-project/src/main/resources/META-INF/plexus/components.xml?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-project/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/branches/maven-2.2.x/maven-project/src/main/resources/META-INF/plexus/components.xml Fri Jun 26 17:55:26 2009
@@ -49,21 +49,6 @@
      |
      -->
     <component>
-      <role>org.apache.maven.artifact.transform.ArtifactTransformation</role>
-      <role-hint>version-expression</role-hint>
-      <implementation>org.apache.maven.project.artifact.VersionExpressionTransformation</implementation>
-      <requirements>
-        <requirement>
-          <role>org.apache.maven.project.path.PathTranslator</role>
-        </requirement>
-      </requirements>
-    </component>
-<!--
-     |
-     |
-     |
-     -->
-    <component>
       <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
       <implementation>org.apache.maven.project.interpolation.StringSearchModelInterpolator</implementation>
       <requirements>

Modified: maven/components/branches/maven-2.2.x/maven-project/src/test/java/org/apache/maven/project/MavenProjectDynamismTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-project/src/test/java/org/apache/maven/project/MavenProjectDynamismTest.java?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-project/src/test/java/org/apache/maven/project/MavenProjectDynamismTest.java (original)
+++ maven/components/branches/maven-2.2.x/maven-project/src/test/java/org/apache/maven/project/MavenProjectDynamismTest.java Fri Jun 26 17:55:26 2009
@@ -684,8 +684,6 @@
 
         MavenProject project = projectBuilder.build( pomFile, new DefaultProjectBuilderConfiguration() );
 
-        assertEquals( pomFile, project.getFile() );
-
         return project;
     }
 

Copied: maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/alternative-encoding-pom.xml (from r788788, maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/alternative-encoding-pom.xml)
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/alternative-encoding-pom.xml?p2=maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/alternative-encoding-pom.xml&p1=maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/alternative-encoding-pom.xml&r1=788788&r2=788791&rev=788791&view=diff
==============================================================================
    (empty)

Copied: maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/invalid-pom.xml (from r788788, maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/invalid-pom.xml)
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/invalid-pom.xml?p2=maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/invalid-pom.xml&p1=maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/invalid-pom.xml&r1=788788&r2=788791&rev=788791&view=diff
==============================================================================
    (empty)

Copied: maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/pom-with-build-dir-expression.xml (from r788788, maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/pom-with-comments.xml)
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/pom-with-build-dir-expression.xml?p2=maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/pom-with-build-dir-expression.xml&p1=maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/pom-with-comments.xml&r1=788788&r2=788791&rev=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/pom-with-comments.xml (original)
+++ maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/pom-with-build-dir-expression.xml Fri Jun 26 17:55:26 2009
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- This is a comment. -->
+
 <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>
 
@@ -18,4 +18,7 @@
     <other.version>${testVersion}</other.version>
   </properties>
 
+  <build>
+    <directory>${project.basedir}/target</directory>
+  </build>
 </project>

Copied: maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/pom-with-comments.xml (from r788788, maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/pom-with-comments.xml)
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/pom-with-comments.xml?p2=maven/components/branches/maven-2.2.x/maven-project/src/test/resources/coord-expressions/pom-with-comments.xml&p1=maven/components/branches/maven-2.2.x/maven-project/src/test/resources/version-expressions/pom-with-comments.xml&r1=788788&r2=788791&rev=788791&view=diff
==============================================================================
    (empty)

Modified: maven/components/branches/maven-2.2.x/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.x/pom.xml?rev=788791&r1=788790&r2=788791&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.x/pom.xml (original)
+++ maven/components/branches/maven-2.2.x/pom.xml Fri Jun 26 17:55:26 2009
@@ -140,7 +140,7 @@
         </plugin>
         <plugin>
           <artifactId>maven-assembly-plugin</artifactId>
-          <version>2.2-beta-1</version>
+          <version>2.2-beta-4</version>
         </plugin>
         <plugin>
           <artifactId>maven-shade-plugin</artifactId>
@@ -215,38 +215,11 @@
           <version>2.2.1</version>
           <configuration>
             <!-- needed for release: default value "(,${project.version})" for 2.0.10 is 2.0.10-SNAPSHOT -->
-            <comparisonVersion>2.1.0-M1</comparisonVersion>
+            <comparisonVersion>2.1.0</comparisonVersion>
             <excludes>
-              <exclude>org/apache/maven/artifact/Artifact*</exclude>
-
-              <exclude>org/apache/maven/execution/MavenExecutionRequest*</exclude>
-
-              <exclude>org/apache/maven/plugin/PluginManagerException*</exclude>
-
-              <exclude>org/apache/maven/artifact/repository/metadata/Snapshot*</exclude>
-              <exclude>org/apache/maven/artifact/repository/metadata/Versioning*</exclude>
-              <exclude>org/apache/maven/artifact/repository/metadata/Plugin*</exclude>
-              <exclude>org/apache/maven/artifact/repository/metadata/io/xpp3/*</exclude>
-
-              <exclude>org/apache/maven/model/*</exclude>
-              <exclude>org/apache/maven/model/io/xpp3/*</exclude>
-              <exclude>org/apache/maven/settings/*</exclude>
-              <exclude>org/apache/maven/settings/io/xpp3/*</exclude>
-
-              <exclude>org/apache/maven/usability/plugin/*</exclude>
-              <exclude>org/apache/maven/usability/plugin/io/xpp3/*</exclude>
-
-              <exclude>org/apache/maven/profiles/*</exclude>
-              <exclude>org/apache/maven/profiles/io/xpp3/*</exclude>
-
-              <exclude>org/apache/maven/plugin/registry/*</exclude>
-              <exclude>org/apache/maven/plugin/registry/io/xpp3/*</exclude>
-
-              <exclude>org/apache/maven/plugin/lifecycle/*</exclude>
-              <exclude>org/apache/maven/plugin/lifecycle/io/xpp3/*</exclude>
-
-              <exclude>org/apache/maven/toolchain/model/*</exclude>
-              <exclude>org/apache/maven/toolchain/model/io/xpp3/*</exclude>
+              <exclude>org/apache/maven/project/artifact/ArtifactWithProject*</exclude>
+              <exclude>org/apache/maven/project/artifact/ProjectArtifactFactory*</exclude>
+              <exclude>org/apache/maven/project/artifact/VersionExpressionTransformation*</exclude>
             </excludes>
           </configuration>
         </plugin>
@@ -280,6 +253,7 @@
     <module>maven-artifact</module>
     <module>maven-artifact-manager</module>
     <module>maven-artifact-test</module>
+    <module>maven-compat</module>
     <module>maven-core</module>
     <module>maven-error-diagnostics</module>
     <module>maven-model</module>
@@ -300,7 +274,7 @@
 
   <properties>
     <mavenVersion>2.2.1-SNAPSHOT</mavenVersion>
-    <wagonVersion>1.0-beta-5</wagonVersion>
+    <wagonVersion>1.0-beta-6</wagonVersion>
     <doxiaVersion>1.1</doxiaVersion>
   </properties>
 
@@ -371,6 +345,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.maven</groupId>
+        <artifactId>maven-compat</artifactId>
+        <version>${mavenVersion}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven</groupId>
         <artifactId>maven-core</artifactId>
         <version>${mavenVersion}</version>
       </dependency>
@@ -429,7 +408,7 @@
       <dependency>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-interpolation</artifactId>
-        <version>1.8.1</version>
+        <version>1.11</version>
       </dependency>
       <dependency>
         <groupId>org.codehaus.plexus</groupId>
@@ -439,7 +418,7 @@
       <dependency>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-utils</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.15</version>
       </dependency>
       <dependency>
         <groupId>org.sonatype.plexus</groupId>
@@ -477,6 +456,16 @@
         <version>${wagonVersion}</version>
       </dependency>
       <dependency>
+        <groupId>org.slf4j</groupId>
+        <artifactId>slf4j-jdk14</artifactId>
+        <version>1.5.6</version>
+      </dependency>
+      <dependency>
+        <groupId>org.slf4j</groupId>
+        <artifactId>jcl-over-slf4j</artifactId>
+        <version>1.5.6</version>
+      </dependency>
+      <dependency>
         <groupId>backport-util-concurrent</groupId>
         <artifactId>backport-util-concurrent</artifactId>
         <version>3.1</version>