Author: kenney
Date: Thu Jan 18 10:49:58 2007
New Revision: 497533

URL: http://svn.apache.org/viewvc?view=rev&rev=497533
Log:
Fix resolving <plugin><dependencies>: it0081

Modified:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java

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?view=diff&rev=497533&r1=497532&r2=497533
==============================================================================
--- 
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
 Thu Jan 18 10:49:58 2007
@@ -310,24 +310,23 @@
 
             // Now here we need the artifact coreArtifactFilter stuff
 
-            componentRealm = container.createComponentRealm( plugin.getKey(), 
jars );
-
+            componentRealm = container.createComponentRealm( 
projectPlugin.getKey(), jars );
         }
         catch ( PlexusContainerException e )
         {
-            throw new PluginManagerException( "Failed to create realm for 
plugin '" + plugin + ".", e );
+            throw new PluginManagerException( "Failed to create realm for 
plugin '" + projectPlugin + ".", e );
         }
 
         // 
----------------------------------------------------------------------------
         // The PluginCollector will now know about the plugin we are trying to 
load
         // 
----------------------------------------------------------------------------
 
-        PluginDescriptor pluginDescriptor = 
pluginCollector.getPluginDescriptor( plugin );
+        PluginDescriptor pluginDescriptor = 
pluginCollector.getPluginDescriptor( projectPlugin );
 
         if ( pluginDescriptor == null )
         {
             throw new IllegalStateException(
-                "The PluginDescriptor for the plugin " + plugin.getKey() + " 
was not found" );
+                "The PluginDescriptor for the plugin " + 
projectPlugin.getKey() + " was not found" );
         }
 
         pluginDescriptor.setPluginArtifact( pluginArtifact );
@@ -348,14 +347,14 @@
                                     Plugin plugin,
                                     MavenProject project,
                                     MavenSession session )
-        throws InvalidPluginException, ArtifactNotFoundException, 
PluginManagerException, ArtifactResolutionException
+        throws InvalidPluginException, ArtifactNotFoundException, 
ArtifactResolutionException
     {
-        Set artifacts;
+        Set projectPluginDependencies;
 
         try
         {
 
-            artifacts = MavenMetadataSource.createArtifacts( artifactFactory, 
plugin.getDependencies(), null,
+            projectPluginDependencies = MavenMetadataSource.createArtifacts( 
artifactFactory, plugin.getDependencies(), null,
                                                              
coreArtifactFilter, project );
         }
         catch ( InvalidDependencyVersionException e )
@@ -392,6 +391,14 @@
                                                                                
 artifactFilter );
 
         Set resolved = result.getArtifacts();
+
+        // Also resolve the plugin dependencies specified in 
<plugin><dependencies>:
+        resolved.addAll( artifactResolver.resolveTransitively( 
projectPluginDependencies,
+                                                               pluginArtifact,
+                                                               localRepository,
+                                                               repositories,
+                                                               
artifactMetadataSource,
+                                                               artifactFilter 
).getArtifacts() );
 
         for ( Iterator it = resolved.iterator(); it.hasNext(); )
         {


Reply via email to