Author: bentmann
Date: Tue Aug 11 19:51:12 2009
New Revision: 803266

URL: http://svn.apache.org/viewvc?rev=803266&view=rev
Log:
o Fixed missing version resolution for extension plugins

Modified:
    
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/lifecycle/LifecycleExecutor.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java
    
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java

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=803266&r1=803265&r2=803266&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
 Tue Aug 11 19:51:12 2009
@@ -925,7 +925,7 @@
         return pluginManager.getMojoDescriptor( plugin, goal, 
repositoryRequest );
     }
 
-    private void resolvePluginVersion( Plugin plugin, RepositoryRequest 
repositoryRequest )
+    public void resolvePluginVersion( Plugin plugin, RepositoryRequest 
repositoryRequest )
         throws PluginNotFoundException
     {
         ArtifactRepository localRepository = 
repositoryRequest.getLocalRepository();

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java?rev=803266&r1=803265&r2=803266&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java
 Tue Aug 11 19:51:12 2009
@@ -20,10 +20,8 @@
  */
 
 import java.util.Collection;
-import java.util.List;
 import java.util.Set;
 
-import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.RepositoryRequest;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.Plugin;
@@ -75,6 +73,9 @@
     //
     void populateDefaultConfigurationForPlugins( Collection<Plugin> plugins, 
RepositoryRequest repositoryRequest )
         throws LifecycleExecutionException;
+
+    void resolvePluginVersion( Plugin plugin, RepositoryRequest 
repositoryRequest )
+        throws PluginNotFoundException;
     
     void execute( MavenSession session );
 }

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java?rev=803266&r1=803265&r2=803266&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java
 Tue Aug 11 19:51:12 2009
@@ -24,7 +24,7 @@
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.DefaultRepositoryRequest;
 import org.apache.maven.artifact.repository.RepositoryRequest;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.AbstractArtifactResolutionException;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.building.AbstractModelBuildingListener;
 import org.apache.maven.model.building.ModelBuildingEvent;
@@ -142,7 +142,7 @@
 
                 projectRealm = projectBuildingHelper.createProjectRealm( 
model, repositoryRequest );
             }
-            catch ( ArtifactResolutionException e )
+            catch ( AbstractArtifactResolutionException e )
             {
                 event.getProblems().addError( "Unresolveable build extensions: 
" + e.getMessage(), e );
             }

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java?rev=803266&r1=803265&r2=803266&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
 Tue Aug 11 19:51:12 2009
@@ -36,12 +36,14 @@
 import org.apache.maven.artifact.resolver.ResolutionErrorHandler;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.classrealm.ClassRealmManager;
+import org.apache.maven.lifecycle.LifecycleExecutor;
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Extension;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.Repository;
+import org.apache.maven.plugin.PluginNotFoundException;
 import org.apache.maven.repository.RepositorySystem;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.classworlds.realm.ClassRealm;
@@ -79,6 +81,9 @@
     @Requirement
     private ArtifactFilterManager artifactFilterManager;
 
+    @Requirement
+    private LifecycleExecutor lifecycleExecutor;
+
     public List<ArtifactRepository> createArtifactRepositories( 
List<Repository> pomRepositories,
                                                                 
List<ArtifactRepository> externalRepositories )
         throws InvalidRepositoryException
@@ -103,7 +108,7 @@
     }
 
     public ClassRealm createProjectRealm( Model model, RepositoryRequest 
repositoryRequest )
-        throws ArtifactResolutionException
+        throws ArtifactResolutionException, PluginNotFoundException
     {
         ClassRealm projectRealm = null;
 
@@ -142,6 +147,11 @@
 
         for ( Plugin plugin : extensionPlugins )
         {
+            if ( plugin.getVersion() == null )
+            {
+                lifecycleExecutor.resolvePluginVersion( plugin, 
repositoryRequest );
+            }
+
             Artifact artifact = repositorySystem.createPluginArtifact( plugin 
);
 
             Set<Artifact> dependencies = new LinkedHashSet<Artifact>();

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java?rev=803266&r1=803265&r2=803266&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java
 Tue Aug 11 19:51:12 2009
@@ -27,6 +27,7 @@
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Repository;
+import org.apache.maven.plugin.PluginNotFoundException;
 import org.codehaus.plexus.classworlds.realm.ClassRealm;
 
 /**
@@ -61,6 +62,6 @@
      * @throws ArtifactResolutionException If any build extension could not be 
resolved.
      */
     ClassRealm createProjectRealm( Model model, RepositoryRequest 
repositoryRequest )
-        throws ArtifactResolutionException;
+        throws ArtifactResolutionException, PluginNotFoundException;
 
 }

Modified: 
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java?rev=803266&r1=803265&r2=803266&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
 (original)
+++ 
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
 Tue Aug 11 19:51:12 2009
@@ -80,4 +80,10 @@
         throws LifecycleExecutionException
     {
     }
+
+    public void resolvePluginVersion( Plugin plugin, RepositoryRequest 
repositoryRequest )
+        throws PluginNotFoundException
+    {
+    }
+
 }


Reply via email to