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

svn commit: r720432 - in /maven/components/trunk: ./ maven-compat/ maven-core/ maven-core/src/main/java/org/apache/maven/ maven-core/src/main/java/org/apache/maven/execution/ maven-core/src/main/java/org/apache/maven/lifecycle/ maven-core/src/main/java...

Author: jvanzyl
Date: Mon Nov 24 23:11:35 2008
New Revision: 720432

URL: http://svn.apache.org/viewvc?rev=720432&view=rev
Log:
o primarily refactoring in part for the preparation making room for mercury and processing events from maven-shared-model
o add plexus component descriptor generation to the bootstrap so we can start removing the hand-written descriptors and start
  using annotations everywhere


Added:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/   (props changed)
      - copied from r719061, maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/listeners/
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/
Modified:
    maven/components/trunk/build.xml
    maven/components/trunk/maven-compat/pom.xml
    maven/components/trunk/maven-core/pom.xml
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java
    maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml
    maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
    maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml
    maven/components/trunk/pom.xml

Modified: maven/components/trunk/build.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/build.xml?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/build.xml (original)
+++ maven/components/trunk/build.xml Mon Nov 24 23:11:35 2008
@@ -38,7 +38,7 @@
   <property name="it.workdir.version" value="3.0.x"/>
 
   <target name="initTaskDefs">
-  	<xmlproperty file="pom.xml" prefix="pom.xml" />
+    <xmlproperty file="pom.xml" prefix="pom.xml" />
     <path id="maven-ant-tasks.classpath" path="maven-ant-tasks-2.1-SNAPSHOT.jar"/>
     <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant" classpathref="maven-ant-tasks.classpath"/>
   </target>
@@ -89,20 +89,20 @@
     <!-- Pull the dependencies for the MetadataGenerator CLI -->
     <artifact:dependencies pathId="pmdg.pathid" filesetId="pmdg.fileset" verbose="${verbose}">
        <localRepository path="${maven.repo.local}"/>
-       <dependency groupId="org.codehaus.plexus" artifactId="plexus-component-metadata" version="1.0-beta-2-SNAPSHOT"/>
+       <dependency groupId="org.codehaus.plexus" artifactId="plexus-component-metadata" version="1.0-beta-2"/>
     </artifact:dependencies>          
     
   </target>
 
-  <target name="generate-resources" depends="pull" description="generates plexus component metadata.">
+  <target name="process-classes" depends="pull" description="generates plexus component metadata.">
     <mkdir dir="${basedir}/bootstrap/target"/>
     <mkdir dir="${basedir}/bootstrap/target/classes"/>
   	
     <path id="maven.classpath">
       <pathelement location="bootstrap/target/classes"/>
       <path refid="sources"/>    	
-      <path refid="pmdg.pathid"/>
       <path refid="pom.pathid"/>
+      <path refid="pmdg.pathid"/>
     </path>
   	
     <java fork="fork" classname="org.codehaus.plexus.metadata.PlexusMetadataGeneratorCli" failonerror="true">
@@ -166,7 +166,7 @@
     </path>
 
     <mkdir dir="bootstrap/target/classes"/>
-    <javac destdir="bootstrap/target/classes" debug="${debug}">
+    <javac destdir="bootstrap/target/classes" debug="true">
       <src refid="sources"/>
       <classpath refid="pom.pathid"/>
     </javac>
@@ -183,7 +183,7 @@
     </path>
   </target>
 
-  <target name="maven-compile" depends="compile-boot" description="compiles Maven using the bootstrap Maven, skipping automated tests">
+  <target name="maven-compile" depends="compile-boot,process-classes" description="compiles Maven using the bootstrap Maven, skipping automated tests">
     <java fork="true" classname="org.apache.maven.cli.MavenCli" failonerror="true">
       <classpath refid="maven.classpath"/>
       <arg value="-e"/>      

Modified: maven/components/trunk/maven-compat/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/pom.xml?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/pom.xml (original)
+++ maven/components/trunk/maven-compat/pom.xml Mon Nov 24 23:11:35 2008
@@ -45,14 +45,6 @@
       <plugin>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-component-metadata</artifactId>
-        <version>1.0-beta-2-SNAPSHOT</version>
-        <dependencies>
-          <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-container-default</artifactId>
-            <version>1.0-beta-2-SNAPSHOT</version>
-          </dependency>
-        </dependencies>
       </plugin>
     </plugins>
   </build>

Modified: maven/components/trunk/maven-core/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/pom.xml?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-core/pom.xml (original)
+++ maven/components/trunk/maven-core/pom.xml Mon Nov 24 23:11:35 2008
@@ -1,32 +1,22 @@
 <?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.
--->
+  <!--
+    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/maven-v4_0_0.xsd">
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <parent>
     <artifactId>maven</artifactId>
     <groupId>org.apache.maven</groupId>
     <version>3.0-SNAPSHOT</version>
   </parent>
-  
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-core</artifactId>
   <name>Maven Core</name>
@@ -71,7 +61,6 @@
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-interactivity-api</artifactId>
     </dependency>
-    
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-interpolation</artifactId>
@@ -100,10 +89,26 @@
       <version>1.0-alpha-1</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-component-annotations</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.sonatype.plexus</groupId>
+      <artifactId>plexus-plugin-manager</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>maven-shared-model</artifactId>
+    </dependency>
   </dependencies>
   <build>
     <plugins>
       <plugin>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-component-metadata</artifactId>
+      </plugin>    
+      <plugin>
         <groupId>org.codehaus.modello</groupId>
         <artifactId>modello-maven-plugin</artifactId>
         <configuration>

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Mon Nov 24 23:11:35 2008
@@ -155,14 +155,9 @@
 
         String event = MavenEvents.MAVEN_EXECUTION;
 
-        dispatcher.dispatchStart(
-            event,
-            request.getBaseDirectory() );
-
-        MavenSession session = createSession(
-            request,
-            reactorManager,
-            dispatcher );
+        dispatcher.dispatchStart( event, request.getBaseDirectory() );
+
+        MavenSession session = createSession( request, reactorManager, dispatcher );
 
         if ( request.getGoals() != null )
         {
@@ -205,10 +200,7 @@
 
         try
         {
-            lifecycleExecutor.execute(
-                session,
-                reactorManager,
-                dispatcher );
+            lifecycleExecutor.execute( session, reactorManager, dispatcher );
         }
         catch ( LifecycleExecutionException e )
         {
@@ -391,11 +383,7 @@
                                           ReactorManager reactorManager,
                                           EventDispatcher dispatcher )
     {
-        MavenSession session = new MavenSession(
-            container,
-            request,
-            dispatcher,
-            reactorManager );
+        MavenSession session = new MavenSession( container, request, dispatcher, reactorManager );
 
         return session;
     }

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java Mon Nov 24 23:11:35 2008
@@ -1,26 +1,29 @@
 package org.apache.maven.execution;
 
 /*
- * 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.
+ * 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.
  */
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Properties;
+
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.errors.CoreErrorReporter;
+import org.apache.maven.listeners.BuildExtensionListener;
 import org.apache.maven.monitor.event.EventMonitor;
 import org.apache.maven.profiles.ProfileManager;
 import org.apache.maven.profiles.activation.ProfileActivationContext;
@@ -28,13 +31,10 @@
 import org.apache.maven.project.ProjectBuilderConfiguration;
 import org.apache.maven.realm.MavenRealmManager;
 import org.apache.maven.settings.Settings;
+import org.apache.maven.shared.model.ModelEventListener;
 import org.apache.maven.wagon.events.TransferListener;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 
 /**
  * @author Jason van Zyl
@@ -44,9 +44,9 @@
     implements MavenExecutionRequest
 {
     private ArtifactRepository localRepository;
-
+    
     private File localRepositoryPath;
-
+    
     private boolean offline = false;
 
     private boolean interactiveMode = true;
@@ -115,58 +115,56 @@
 
     private ProfileManager profileManager;
 
-    private List remoteRepositories;
+    private List<ArtifactRepository> remoteRepositories;
 
     /**
      * Suppress SNAPSHOT updates.
+     * 
      * @issue MNG-2681
      */
     private boolean noSnapshotUpdates;
 
     private MavenRealmManager realmManager;
-
-    public DefaultMavenExecutionRequest()
+        
+    public static MavenExecutionRequest copy( MavenExecutionRequest original )
     {
-        // default constructor.
+        DefaultMavenExecutionRequest copy = new DefaultMavenExecutionRequest();
+        copy.setLocalRepository( original.getLocalRepository() );
+        copy.setLocalRepositoryPath( original.getLocalRepositoryPath() );
+        copy.setOffline(  original.isOffline() );
+        copy.setInteractiveMode( original.isInteractiveMode() );
+        copy.setProxies( original.getProxies() );
+        copy.setServers( original.getServers() );
+        copy.setMirrors( original.getMirrors() );
+        copy.setProfiles( original.getProfiles() );
+        copy.setPluginGroups( original.getPluginGroups() );
+        copy.setUsePluginUpdateOverride( original.isUsePluginUpdateOverride() );
+        copy.setProjectPresent( original.isProjectPresent() );
+        copy.setUserSettingsFile( original.getUserSettingsFile() );
+        copy.setGlobalSettingsFile( original.getGlobalSettingsFile() );
+        copy.setBaseDirectory( new File( original.getBaseDirectory() ) );
+        copy.setGoals( original.getGoals() );
+        copy.setUseReactor( original.useReactor() );
+        copy.setRecursive( original.isRecursive() );
+        copy.setPom( original.getPom() );
+        copy.setReactorFailureBehavior( original.getReactorFailureBehavior() );
+        copy.setProperties( original.getProperties() );
+        copy.setStartTime( original.getStartTime() );
+        copy.setShowErrors( original.isShowErrors() );
+        copy.setEventMonitors( original.getEventMonitors());
+        copy.setActiveProfiles( original.getActiveProfiles());
+        copy.setInactiveProfiles(  original.getInactiveProfiles());
+        copy.setTransferListener( original.getTransferListener());
+        copy.setLoggingLevel( original.getLoggingLevel());
+        copy.setGlobalChecksumPolicy( original.getGlobalChecksumPolicy());
+        copy.setUpdateSnapshots( original.isUpdateSnapshots());
+        copy.setProfileManager( original.getProfileManager() );
+        copy.setRemoteRepositories( original.getRemoteRepositories() );
+        copy.setNoSnapshotUpdates( original.isNoSnapshotUpdates() );
+        copy.setRealmManager( original.getRealmManager() );
+        return original;        
     }
-
-    public DefaultMavenExecutionRequest( MavenExecutionRequest original )
-    {
-        localRepository = original.getLocalRepository();
-        localRepositoryPath = original.getLocalRepositoryPath();
-        offline = original.isOffline();
-        interactiveMode = original.isInteractiveMode();
-        proxies = original.getProxies();
-        servers = original.getServers();
-        mirrors = original.getMirrors();
-        profiles = original.getProfiles();
-        pluginGroups = original.getPluginGroups();
-        usePluginUpdateOverride = original.isUsePluginUpdateOverride();
-        isProjectPresent = original.isProjectPresent();
-        userSettingsFile = original.getUserSettingsFile();
-        globalSettingsFile = original.getGlobalSettingsFile();
-        basedir = new File( original.getBaseDirectory() );
-        goals = original.getGoals();
-        useReactor = original.useReactor();
-        recursive = original.isRecursive();
-        pom = original.getPom();
-        reactorFailureBehavior = original.getReactorFailureBehavior();
-        properties = original.getProperties();
-        startTime = original.getStartTime();
-        showErrors = original.isShowErrors();
-        eventMonitors = original.getEventMonitors();
-        activeProfiles = original.getActiveProfiles();
-        inactiveProfiles = original.getInactiveProfiles();
-        transferListener = original.getTransferListener();
-        loggingLevel = original.getLoggingLevel();
-        globalChecksumPolicy = original.getGlobalChecksumPolicy();
-        updateSnapshots = original.isUpdateSnapshots();
-        profileManager = original.getProfileManager();
-        remoteRepositories = original.getRemoteRepositories();
-        noSnapshotUpdates = original.isNoSnapshotUpdates();
-        realmManager = original.getRealmManager();
-    }
-
+   
     public String getBaseDirectory()
     {
         if ( basedir == null )
@@ -233,6 +231,36 @@
         return eventMonitors;
     }
 
+    public void setBasedir( File basedir )
+    {
+        this.basedir = basedir;
+    }
+
+    public void setEventMonitors( List eventMonitors )
+    {
+        this.eventMonitors = eventMonitors;
+    }
+
+    public void setActiveProfiles( List activeProfiles )
+    {
+        this.activeProfiles = activeProfiles;
+    }
+
+    public void setInactiveProfiles( List inactiveProfiles )
+    {
+        this.inactiveProfiles = inactiveProfiles;
+    }
+
+    public void setRemoteRepositories( List<ArtifactRepository> remoteRepositories )
+    {
+        this.remoteRepositories = remoteRepositories;
+    }
+
+    public void setProjectBuildingConfiguration( ProjectBuilderConfiguration projectBuildingConfiguration )
+    {
+        this.projectBuildingConfiguration = projectBuildingConfiguration;
+    }
+
     public List getActiveProfiles()
     {
         if ( activeProfiles == null )
@@ -656,7 +684,7 @@
     {
         if ( remoteRepositories == null )
         {
-            remoteRepositories = new ArrayList();
+            remoteRepositories = new ArrayList<ArtifactRepository>();
         }
 
         remoteRepositories.add( repository );
@@ -664,7 +692,7 @@
         return this;
     }
 
-    public List getRemoteRepositories()
+    public List<ArtifactRepository> getRemoteRepositories()
     {
         return remoteRepositories;
     }
@@ -730,6 +758,7 @@
             projectBuildingConfiguration.setGlobalProfileManager( getProfileManager() );
             projectBuildingConfiguration.setUserProperties( getUserProperties() );
             projectBuildingConfiguration.setBuildStartTime( getStartTime() );
+            projectBuildingConfiguration.setRemoteRepositories( getRemoteRepositories() );
         }
 
         return projectBuildingConfiguration;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java Mon Nov 24 23:11:35 2008
@@ -19,6 +19,11 @@
  * under the License.
  */
 
+import java.io.File;
+import java.util.Date;
+import java.util.List;
+import java.util.Properties;
+
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
 import org.apache.maven.errors.CoreErrorReporter;
@@ -31,11 +36,6 @@
 import org.apache.maven.wagon.events.TransferListener;
 import org.codehaus.plexus.logging.Logger;
 
-import java.io.File;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-
 /**
  * @author Jason van Zyl
  * @version $Id$

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Mon Nov 24 23:11:35 2008
@@ -151,10 +151,7 @@
             throw new NoGoalsSpecifiedException( buffer.toString() );
         }
 
-        List taskSegments = segmentTaskListByAggregationNeeds(
-            goals,
-            session,
-            rootProject );
+        List taskSegments = segmentTaskListByAggregationNeeds( goals, session, rootProject );
 
         try
         {
@@ -162,19 +159,10 @@
         }
         catch ( LifecycleException e )
         {
-            e.printStackTrace();
-            throw new LifecycleExecutionException(
-                                                   "Failed to construct one or more initial build plans."
-                                                                   + " Reason: " + e.getMessage(),
-                                                   e );
+            throw new LifecycleExecutionException( "Failed to construct one or more initial build plans." + " Reason: " + e.getMessage(), e );
         }
 
-        executeTaskSegments(
-            taskSegments,
-            reactorManager,
-            session,
-            rootProject,
-            dispatcher );
+        executeTaskSegments( taskSegments, reactorManager, session, rootProject, dispatcher );
     }
 
     /**
@@ -210,7 +198,7 @@
                 for ( Iterator projectIterator = sortedProjects.iterator(); projectIterator.hasNext(); )
                 {
                     MavenProject currentProject = (MavenProject) projectIterator.next();
-
+                    
                     executeTaskSegmentForProject( segment, currentProject, reactorManager, dispatcher, session );
                 }
             }
@@ -255,11 +243,7 @@
                 session.setCurrentProject( project );
 
                 // NEW: Build up the execution plan, including configuration.
-                List mojoBindings = getLifecycleBindings(
-                    segment.getTasks(),
-                    project,
-                    session,
-                    target );
+                List mojoBindings = getLifecycleBindings( segment.getTasks(), project, session, target );
 
                 String currentPhase = null;
 

Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Nov 24 23:11:35 2008
@@ -0,0 +1,3 @@
+/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/builder/listeners:680477
+/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/builder/listeners:679206
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/listeners:688587-696625,696644-699681

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java?rev=720432&r1=719061&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java Mon Nov 24 23:11:35 2008
@@ -1,34 +1,51 @@
-package org.apache.maven.project.builder.listeners;
+package org.apache.maven.listeners;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.project.builder.ArtifactModelContainerFactory;
 import org.apache.maven.project.builder.ProjectUri;
 import org.apache.maven.shared.model.ModelContainer;
 import org.apache.maven.shared.model.ModelContainerFactory;
 import org.apache.maven.shared.model.ModelEventListener;
 import org.apache.maven.shared.model.ModelProperty;
+import org.codehaus.plexus.classworlds.realm.ClassRealm;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Configuration;
+import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.component.repository.ComponentDescriptor;
+import org.sonatype.plexus.plugin.manager.PlexusPluginManager;
+import org.sonatype.plexus.plugin.manager.PluginMetadata;
+import org.sonatype.plexus.plugin.manager.PluginResolutionRequest;
+import org.sonatype.plexus.plugin.manager.PluginResolutionResult;
+
+// I need access to the local repository
+// i need the remote repositories
+// i need filters to keep stuff out of the realm that exists
 
+@Component(role = MavenModelEventListener.class, hint="extensions", instantiationStrategy="per-lookup" )
 public class BuildExtensionListener
-    implements ModelEventListener
+    implements MavenModelEventListener
 {
-    private boolean inBuild;
-
-    public BuildExtensionListener(boolean inBuild)
-    {
-        this.inBuild = inBuild;
-    }
+    @Configuration(value = "true")
+    private boolean inBuild = true;
 
+    @Requirement
+    PlexusPluginManager pluginManager;
+    
+    private List<BuildExtension> buildExtensions = new ArrayList<BuildExtension>();
+    
     public void fire( List<ModelContainer> modelContainers )
-    {
-        if(!inBuild) {
+    {        
+        if ( !inBuild )
+        {
             return;
         }
-        
-        List<BuildExtension> buildExtensions = new ArrayList<BuildExtension>();
+
         for ( ModelContainer mc : modelContainers )
         {
             if ( hasExtension( mc ) )
@@ -36,13 +53,8 @@
                 buildExtensions.add( new BuildExtension( mc.getProperties() ) );
             }
         }
-
-        for( BuildExtension be : buildExtensions )
-        {
-            System.out.println( "Extension ---> " + be.groupId + " : " + be.artifactId + " : " + be.version );
-        }        
     }
-
+           
     public List<String> getUris()
     {
         return Arrays.asList( ProjectUri.Build.Extensions.Extension.xUri );
@@ -72,6 +84,13 @@
         private String artifactId;
 
         private String version;
+        
+        public BuildExtension( String groupId, String artifactId, String version )
+        {
+            this.groupId = groupId;
+            this.artifactId = artifactId;
+            this.version = version;
+        }
 
         BuildExtension( List<ModelProperty> modelProperties )
         {
@@ -90,6 +109,58 @@
                     version = mp.getValue();
                 }
             }
-        }        
-    }
+        }
+    }   
+    
+    // Processing the information that was collected.
+    
+    public void processModelContainers( MavenSession session )
+    {       
+        for ( BuildExtension be : buildExtensions )
+        {
+            PluginResolutionRequest request = new PluginResolutionRequest()
+                .setPluginMetadata( new PluginMetadata( be.groupId, be.artifactId, be.version ) )
+                .addLocalRepository( session.getRequest().getLocalRepositoryPath() )
+                .setRemoteRepositories( convertToMercuryRepositories( session.getRequest().getRemoteRepositories() ) );
+
+            PluginResolutionResult result = null;
+
+            try
+            {
+                result = pluginManager.resolve( request );
+            }
+            catch ( Exception e )
+            {
+                e.printStackTrace();
+            }
+
+            ClassRealm realm = pluginManager.createClassRealm( result.getArtifacts() );
+
+            realm.display();
+            
+            List<ComponentDescriptor<?>> components = pluginManager.discoverComponents( realm );            
+        }
+    } 
+    
+    List<String> convertToMercuryRepositories( List<ArtifactRepository> repositories )
+    {
+        List<String> repos = new ArrayList<String>();
+
+        if ( repositories != null )
+        {
+            for ( ArtifactRepository r : repositories )
+            {
+                repos.add( r.getUrl() );
+            }
+        }
+        else
+        {
+            // I'm doing this because I am about to rip the artifact clusterfuck out and
+            // replace it with mercury and I don't want to pull in 5 component to make a
+            // remote repository. This will do until alpha-2.
+            repos.add( "http://repo1.maven.org/maven2" );
+        }
+        
+        return repos;        
+    }            
 }

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Mon Nov 24 23:11:35 2008
@@ -315,7 +315,7 @@
             {
                 getLogger().debug( "Discovering components in realm: " + pluginRealm );
 
-                container.discoverComponents( pluginRealm, false );
+                container.discoverComponents( pluginRealm );
             }
             catch ( PlexusConfigurationException e )
             {

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java Mon Nov 24 23:11:35 2008
@@ -43,6 +43,8 @@
 import org.apache.maven.project.artifact.InvalidDependencyVersionException;
 import org.apache.maven.realm.RealmManagementException;
 import org.apache.maven.realm.RealmScanningUtils;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.context.Context;
 import org.codehaus.plexus.context.ContextException;
 import org.codehaus.plexus.logging.LogEnabled;
@@ -52,20 +54,26 @@
 import java.util.ArrayList;
 import java.util.List;
 
+@Component(role = PluginManagerSupport.class)
 public class DefaultPluginManagerSupport
     implements PluginManagerSupport, LogEnabled, Contextualizable
 {
-
+    @Requirement
     private ArtifactResolver artifactResolver;
-
+    
+    @Requirement
     private ArtifactFactory artifactFactory;
-
+    
+    @Requirement
     private MavenProjectBuilder mavenProjectBuilder;
-
+    
+    @Requirement
     private RuntimeInformation runtimeInformation;
-
+    
+    @Requirement
     private PluginVersionManager pluginVersionManager;
-
+    
+    //@Requirement
     private Logger logger;
 
     private Context containerContext;
@@ -90,8 +98,6 @@
 
         List remoteRepositories = new ArrayList();
 
-//        remoteRepositories.addAll( project.getPluginArtifactRepositories() );
-
         remoteRepositories.addAll( project.getRemoteArtifactRepositories() );
 
         MavenProject pluginProject = null;

Modified: maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml Mon Nov 24 23:11:35 2008
@@ -22,7 +22,7 @@
 
     <!--
      | These are the artifacts handlers that were previously in maven-artifact and they don't belong there as these
-    | are Maven specific artifact handlers. We need to put these into their respective plugins and make this fully dynamic. jvz.
+     | are Maven specific artifact handlers. We need to put these into their respective plugins and make this fully dynamic. jvz.
     -->
 
     <component>

Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java (original)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java Mon Nov 24 23:11:35 2008
@@ -472,17 +472,11 @@
         model.setVersion( "1" );
 
         MavenProject project = new MavenProject( model );
-
-        ReactorManager rm = new ReactorManager( Collections.singletonList( project ),
-                                                ReactorManager.FAIL_FAST );
-
-        MockControl reqCtl = MockControl.createControl( MavenExecutionRequest.class );
-        MavenExecutionRequest req = (MavenExecutionRequest) reqCtl.getMock();
-
-        MavenSession session = new MavenSession( getContainer(), req, new DefaultEventDispatcher(),
-                                                 rm );
+        ReactorManager rm = new ReactorManager( Collections.singletonList( project ), ReactorManager.FAIL_FAST );
+        MockControl mockMavenExecutionRequest = MockControl.createControl( MavenExecutionRequest.class );
+        MavenExecutionRequest req = (MavenExecutionRequest) mockMavenExecutionRequest.getMock();
+        MavenSession session = new MavenSession( getContainer(), req, new DefaultEventDispatcher(), rm );
 
         return session;
     }
-
 }

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java Mon Nov 24 23:11:35 2008
@@ -132,7 +132,7 @@
         {
             CLIReportingUtils.showVersion();
         }
-
+        
         MavenExecutionRequest request = CLIRequestUtils.buildRequest( commandLine, debug, quiet, showErrors );
 
         Configuration configuration = buildEmbedderConfiguration( request, commandLine, classWorld );

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java Mon Nov 24 23:11:35 2008
@@ -103,7 +103,7 @@
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 /**
- * Class intended to be used by clients who wish to embed Maven into their applications
+ * Class intended to be used by clients who wish to embed Maven into their applications.
  *
  * @author Jason van Zyl
  */
@@ -152,7 +152,7 @@
     private MavenExecutionRequestPopulator populator;
 
     private BuildPlanner buildPlanner;
-
+    
     // ----------------------------------------------------------------------
     // Configuration
     // ----------------------------------------------------------------------
@@ -506,7 +506,7 @@
                                    boolean allowUnbindableMojos )
         throws MavenEmbedderException
     {
-        MavenExecutionRequest req = new DefaultMavenExecutionRequest( request );
+        MavenExecutionRequest req = DefaultMavenExecutionRequest.copy( request );
         req.setGoals( goals );
 
         EventDispatcher dispatcher = new DefaultEventDispatcher( req.getEventMonitors() );
@@ -709,7 +709,7 @@
 
         try
         {
-            container.discoverComponents( childRealm, true );
+            container.discoverComponents( childRealm );
         }
         catch ( PlexusConfigurationException e )
         {

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java Mon Nov 24 23:11:35 2008
@@ -122,7 +122,7 @@
         profileManager( request, configuration );
 
         processSettings( request, configuration );
-
+                
         return request;
     }
 

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java Mon Nov 24 23:11:35 2008
@@ -21,28 +21,30 @@
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.profiles.ProfileManager;
+import org.apache.maven.shared.model.ModelEventListener;
+import org.codehaus.plexus.PlexusContainer;
 
 import java.util.Date;
+import java.util.List;
 import java.util.Properties;
 
 public class DefaultProjectBuilderConfiguration
     implements ProjectBuilderConfiguration
 {
-
     private ProfileManager globalProfileManager;
 
     private ArtifactRepository localRepository;
 
+    private List<ArtifactRepository> remoteRepositories;
+    
     private Properties userProperties;
 
     private Properties executionProperties = System.getProperties();
 
     private Date buildStartTime;
 
-    public DefaultProjectBuilderConfiguration()
-    {
-    }
-
+    private List<ModelEventListener> listeners;
+        
     public ProjectBuilderConfiguration setGlobalProfileManager( ProfileManager globalProfileManager )
     {
         this.globalProfileManager = globalProfileManager;
@@ -64,6 +66,17 @@
     {
         return localRepository;
     }
+        
+    public List<ArtifactRepository> getRemoteRepositories()
+    {
+        return remoteRepositories;
+    }
+
+    public ProjectBuilderConfiguration setRemoteRepositories( List<ArtifactRepository> remoteRepositories )
+    {
+        this.remoteRepositories = remoteRepositories;
+        return this;
+    }
 
     public ProjectBuilderConfiguration setUserProperties( Properties userProperties )
     {
@@ -103,4 +116,14 @@
         return this;
     }
 
+    public List<ModelEventListener> getModelEventListeners()
+    {
+        return listeners;
+    }
+
+    public ProjectBuilderConfiguration setModelEventListeners( List<ModelEventListener> listeners )
+    {
+        this.listeners = listeners;
+        return this;
+    }
 }

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java Mon Nov 24 23:11:35 2008
@@ -2,14 +2,18 @@
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.profiles.ProfileManager;
+import org.apache.maven.shared.model.ModelEventListener;
+import org.codehaus.plexus.PlexusContainer;
 
 import java.util.Date;
+import java.util.List;
 import java.util.Properties;
 
 public interface ProjectBuilderConfiguration
 {
-
     ArtifactRepository getLocalRepository();
+    
+    List<ArtifactRepository> getRemoteRepositories();
 
     ProfileManager getGlobalProfileManager();
 
@@ -21,12 +25,13 @@
 
     ProjectBuilderConfiguration setLocalRepository( ArtifactRepository localRepository );
 
+    ProjectBuilderConfiguration setRemoteRepositories( List<ArtifactRepository> remoteRepositories );
+
     ProjectBuilderConfiguration setUserProperties( Properties userProperties );
 
     ProjectBuilderConfiguration setExecutionProperties( Properties executionProperties );
 
     Date getBuildStartTime();
 
-    ProjectBuilderConfiguration setBuildStartTime( Date buildStartTime );
-
+    ProjectBuilderConfiguration setBuildStartTime( Date buildStartTime );    
 }

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java Mon Nov 24 23:11:35 2008
@@ -19,6 +19,15 @@
  * under the License.
  */
 
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
 import org.apache.maven.MavenTools;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.InvalidRepositoryException;
@@ -27,22 +36,23 @@
 import org.apache.maven.model.Parent;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuilderConfiguration;
-import org.apache.maven.project.builder.*;
+import org.apache.maven.project.builder.ArtifactModelContainerFactory;
+import org.apache.maven.project.builder.IdModelContainerFactory;
+import org.apache.maven.project.builder.PomArtifactResolver;
+import org.apache.maven.project.builder.PomClassicDomainModel;
+import org.apache.maven.project.builder.PomClassicDomainModelFactory;
+import org.apache.maven.project.builder.PomClassicTransformer;
+import org.apache.maven.project.builder.ProjectBuilder;
 import org.apache.maven.project.validation.ModelValidationResult;
 import org.apache.maven.project.validation.ModelValidator;
-import org.apache.maven.shared.model.*;
+import org.apache.maven.shared.model.DomainModel;
+import org.apache.maven.shared.model.ImportModel;
+import org.apache.maven.shared.model.InterpolatorProperty;
+import org.apache.maven.shared.model.ModelEventListener;
+import org.apache.maven.shared.model.ModelTransformerContext;
 import org.codehaus.plexus.logging.LogEnabled;
 import org.codehaus.plexus.logging.Logger;
 
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Default implementation of the project builder.
  */
@@ -60,7 +70,9 @@
     private ModelValidator validator;
 
     private MavenTools mavenTools;
-
+       
+    List<ModelEventListener> listeners;
+    
     /**
      * Default constructor
      */
@@ -160,17 +172,18 @@
         {
             domainModels.add( new PomClassicDomainModel( model ) );
         }
-
+        
         PomClassicTransformer transformer = new PomClassicTransformer( new PomClassicDomainModelFactory() );
+        
         ModelTransformerContext ctx = new ModelTransformerContext(
             Arrays.asList( new ArtifactModelContainerFactory(), new IdModelContainerFactory() ) );
-
+        
         PomClassicDomainModel transformedDomainModel = ( (PomClassicDomainModel) ctx.transform( domainModels,
                                                                                                 transformer,
                                                                                                 transformer,
                                                                                                 importModels,
                                                                                                 properties,
-                                                                                                null) );
+                                                                                                listeners ) );                                                                                                
         try
         {
             MavenProject mavenProject = new MavenProject( transformedDomainModel.getModel(), artifactFactory,

Modified: maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml Mon Nov 24 23:11:35 2008
@@ -267,6 +267,6 @@
           <role>org.apache.maven.artifact.repository.ArtifactRepositoryFactory</role>
         </requirement>
       </requirements>
-    </component>
+    </component>    
   </components>
 </component-set>

Modified: maven/components/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/pom.xml?rev=720432&r1=720431&r2=720432&view=diff
==============================================================================
--- maven/components/trunk/pom.xml (original)
+++ maven/components/trunk/pom.xml Mon Nov 24 23:11:35 2008
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven-parent</artifactId>
-    <version>10-SNAPSHOT</version>
+    <version>9</version>
     <relativePath>../pom/maven/pom.xml</relativePath>
   </parent>
   <groupId>org.apache.maven</groupId>
@@ -156,7 +156,7 @@
         <plugin>
           <groupId>org.codehaus.plexus</groupId>
           <artifactId>plexus-component-metadata</artifactId>
-          <version>1.0-beta-2-SNAPSHOT</version>
+          <version>${plexusVersion}</version>
           <executions>
             <execution>
               <goals>
@@ -245,7 +245,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.3</version>
+          <version>2.4.2</version>
         </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
@@ -254,15 +254,6 @@
         </plugin>
       </plugins>
     </pluginManagement>
-    <plugins>
-      <plugin>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>2.4.2</version>
-        <configuration>
-          <forkMode>once</forkMode>
-        </configuration>
-      </plugin>
-    </plugins>
   </build>
   <modules>
     <module>maven-core</module>
@@ -276,7 +267,7 @@
     <module>maven-mercury</module>
     <module>maven-embedder</module>
     <module>maven-toolchain</module>
-    <module>maven-compat</module>
+    <module>maven-compat</module>    
   </modules>
   <properties>
     <artifactVersion>3.0-alpha-2-SNAPSHOT</artifactVersion>
@@ -286,7 +277,7 @@
     <doxiaVersion>1.0-alpha-9</doxiaVersion>
     <easyMockVersion>1.2_Java1.3</easyMockVersion>
     <junitVersion>3.8.1</junitVersion>
-    <plexusVersion>1.0-beta-2-SNAPSHOT</plexusVersion>
+    <plexusVersion>1.0-beta-2</plexusVersion>
     <plexusInteractivityVersion>1.0-alpha-6</plexusInteractivityVersion>
     <plexusInterpolationVersion>1.1</plexusInterpolationVersion>
     <plexusUtilsVersion>1.5.5</plexusUtilsVersion>
@@ -295,7 +286,6 @@
     <mercuryVersion>1.0.0-alpha-2-SNAPSHOT</mercuryVersion>
     <woodstoxVersion>3.2.6</woodstoxVersion>
   </properties>
-
   <!--start-->
   <dependencies>
     <dependency>
@@ -368,6 +358,11 @@
       <!--end-->
       <!--  Plexus -->
       <dependency>
+        <groupId>org.apache.maven.artifact</groupId>
+        <artifactId>maven-artifact</artifactId>
+        <version>${artifactVersion}</version>
+      </dependency>                    
+      <dependency>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-utils</artifactId>
         <version>${plexusUtilsVersion}</version>
@@ -430,11 +425,6 @@
         <version>${wagonVersion}</version>
       </dependency>
       <dependency>
-        <groupId>org.apache.maven.artifact</groupId>
-        <artifactId>maven-artifact</artifactId>
-        <version>${artifactVersion}</version>
-      </dependency>
-      <dependency>
         <groupId>org.apache.maven.doxia</groupId>
         <artifactId>doxia-sink-api</artifactId>
         <version>${doxiaVersion}</version>
@@ -470,22 +460,27 @@
           </exclusion>
         </exclusions>
       </dependency>
+      <dependency>
+        <groupId>org.apache.maven.mercury</groupId>
+        <artifactId>mercury-artifact</artifactId>
+        <version>${mercuryVersion}</version>
+      </dependency>
         <dependency>
-            <groupId>org.apache.maven.mercury</groupId>
-            <artifactId>mercury-artifact</artifactId>
-            <version>${mercuryVersion}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.mercury</groupId>
-            <artifactId>mercury-external</artifactId>
-            <version>${mercuryVersion}</version>
-        </dependency>
+        <groupId>org.apache.maven.mercury</groupId>
+        <artifactId>mercury-external</artifactId>
+        <version>${mercuryVersion}</version>
+      </dependency>
       <!-- Needed for backward compat aspect. -->
       <dependency>
         <groupId>aspectj</groupId>
         <artifactId>aspectjrt</artifactId>
         <version>${aspectjVersion}</version>
       </dependency>
+      <dependency>
+        <groupId>org.sonatype.plexus</groupId>
+        <artifactId>plexus-plugin-manager</artifactId>
+        <version>1.0-SNAPSHOT</version>
+      </dependency>      
     </dependencies>
     <!--start-->
   </dependencyManagement>



Re: svn commit: r720432 - in /maven/components/trunk: ./ maven-compat/ maven-core/ maven-core/src/main/java/org/apache/maven/ maven-core/src/main/java/org/apache/maven/execution/ maven-core/src/main/java/org/apache/maven/lifecycle/ maven-core/src/main/java...

Posted by Brett Porter <br...@apache.org>.
Benjamin, Jason,

I'm having the same problem. See inline

On 26/11/2008, at 12:48 AM, Benjamin Bentmann wrote:

> jvanzyl wrote:
>
>> Author: jvanzyl
>> Date: Mon Nov 24 23:11:35 2008
>> New Revision: 720432
>> URL: http://svn.apache.org/viewvc?rev=720432&view=rev
>> Log:
>> o primarily refactoring in part for the preparation making room for  
>> mercury and processing events from maven-shared-model
>> o add plexus component descriptor generation to the bootstrap so we  
>> can start removing the hand-written descriptors and start
>>  using annotations everywhere
>> +    <dependency>
>> +      <groupId>org.sonatype.plexus</groupId>
>> +      <artifactId>plexus-plugin-manager</artifactId>
>> +    </dependency>
>
> Trying to build trunk:
>
>> [ERROR] BUILD ERROR
>> [INFO]  
>> ------------------------------------------------------------------------
>> [INFO] Failed to resolve artifact.
>> Missing:
>> ----------
>> 1) org.sonatype.plexus:plexus-plugin-manager:jar:1.0-SNAPSHOT
>>  [...]
>>  Path to dependency:
>>        1) org.apache.maven:maven-core:jar:3.0-SNAPSHOT
>>        2) org.sonatype.plexus:plexus-plugin-manager:jar:1.0-SNAPSHOT
>> ----------
>> 1 required artifact is missing.
>> for artifact:
>>  org.apache.maven:maven-core:jar:3.0-SNAPSHOT
>> from the specified remote repositories:
>>  central (http://repo1.maven.org/maven2),
>>  codehaus.snapshots (http://snapshots.repository.codehaus.org/),
>>  apache.snapshots (http://people.apache.org/repo/m2-snapshot-repository/ 
>> )

I added the Sonatype repository for this.

>
> Trying to build mercury:
>
>> Failed tests:
>>   
>> testSingleVersionResolution 
>> (org.apache.maven.mercury.metadata.sat.DefaultSatSolverTest)
>>   
>> testStrictRangeResolution 
>> (org.apache.maven.mercury.metadata.sat.DefaultSatSolverTest)
>> Tests run: 21, Failures: 2, Errors: 0, Skipped: 0
>> [INFO]  
>> ------------------------------------------------------------------------
>> [ERROR] BUILD FAILURE
>> [INFO]  
>> ------------------------------------------------------------------------
>> [INFO] There are test failures.
>> Please refer to M:\maven\mercury\mercury-md\mercury-md-sat\target 
>> \surefire-reports for the individual test results.

I got these too on Maven 2.0.9, Java 1.6.

They pass on JDK 1.5. Which were you using?

> P.S.: Will plexus-plugin-manager be writable to Maven committers?  
> What's the license?

Jason, could you answer this please?

Thanks,
Brett

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r720432 - in /maven/components/trunk: ./ maven-compat/ maven-core/ maven-core/src/main/java/org/apache/maven/ maven-core/src/main/java/org/apache/maven/execution/ maven-core/src/main/java/org/apache/maven/lifecycle/ maven-core/src/main/java...

Posted by Benjamin Bentmann <be...@udo.edu>.
jvanzyl wrote:

> Author: jvanzyl
> Date: Mon Nov 24 23:11:35 2008
> New Revision: 720432
> 
> URL: http://svn.apache.org/viewvc?rev=720432&view=rev
> Log:
> o primarily refactoring in part for the preparation making room for mercury and processing events from maven-shared-model
> o add plexus component descriptor generation to the bootstrap so we can start removing the hand-written descriptors and start
>   using annotations everywhere
> 
> +    <dependency>
> +      <groupId>org.sonatype.plexus</groupId>
> +      <artifactId>plexus-plugin-manager</artifactId>
> +    </dependency>

Trying to build trunk:

> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Failed to resolve artifact.
> 
> Missing:
> ----------
> 1) org.sonatype.plexus:plexus-plugin-manager:jar:1.0-SNAPSHOT
> 
>   [...]
> 
>   Path to dependency:
>         1) org.apache.maven:maven-core:jar:3.0-SNAPSHOT
>         2) org.sonatype.plexus:plexus-plugin-manager:jar:1.0-SNAPSHOT
> 
> ----------
> 1 required artifact is missing.
> 
> for artifact:
>   org.apache.maven:maven-core:jar:3.0-SNAPSHOT
> 
> from the specified remote repositories:
>   central (http://repo1.maven.org/maven2),
>   codehaus.snapshots (http://snapshots.repository.codehaus.org/),
>   apache.snapshots (http://people.apache.org/repo/m2-snapshot-repository/)

Trying to build plexus-plugin-manager:

> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Failed to resolve artifact.
> 
> Missing:
> ----------
> 2) org.apache.maven.mercury:mercury-plexus:jar:1.0.0-alpha-2-SNAPSHOT
> 
>   [...]
> 
>   Path to dependency:
>         1) org.sonatype.plexus:plexus-plugin-manager:jar:1.0-SNAPSHOT
>         2) org.apache.maven.mercury:mercury-plexus:jar:1.0.0-alpha-2-SNAPSHOT
> 
> ----------
> 2 required artifacts are missing.
> 
> for artifact:
>   org.sonatype.plexus:plexus-plugin-manager:jar:1.0-SNAPSHOT
> 
> from the specified remote repositories:
>   central (http://repo1.maven.org/maven2)

Trying to build mercury:

> Failed tests:
>   testSingleVersionResolution(org.apache.maven.mercury.metadata.sat.DefaultSatSolverTest)
>   testStrictRangeResolution(org.apache.maven.mercury.metadata.sat.DefaultSatSolverTest)
> 
> Tests run: 21, Failures: 2, Errors: 0, Skipped: 0
> 
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD FAILURE
> [INFO] ------------------------------------------------------------------------
> [INFO] There are test failures.
> 
> Please refer to M:\maven\mercury\mercury-md\mercury-md-sat\target\surefire-reports for the individual test results.

...


Benjamin


P.S.: Will plexus-plugin-manager be writable to Maven committers? What's 
the license?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org