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/07/23 00:03:26 UTC
svn commit: r796891 - in
/maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven:
extension/DefaultExtensionManager.java plugin/DefaultPluginManager.java
Author: jdcasey
Date: Wed Jul 22 22:03:26 2009
New Revision: 796891
URL: http://svn.apache.org/viewvc?rev=796891&view=rev
Log:
[MNG-3506] Fixing loading of ArtifactHandlers from plugins with extensions, even in cases where multiple plugins with extensions are used.
Modified:
maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
Modified: maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
URL: http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java?rev=796891&r1=796890&r2=796891&view=diff
==============================================================================
--- maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java (original)
+++ maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java Wed Jul 22 22:03:26 2009
@@ -19,7 +19,9 @@
* under the License.
*/
-import org.apache.maven.MavenArtifactFilterManager;
+import static org.apache.maven.container.ContainerUtils.findChildComponentHints;
+
+import org.apache.maven.MavenArtifactFilterManager;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.artifact.factory.ArtifactFactory;
@@ -46,7 +48,6 @@
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.PlexusContainerException;
-import org.codehaus.plexus.component.repository.ComponentDescriptor;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.context.Context;
import org.codehaus.plexus.context.ContextException;
@@ -264,16 +265,15 @@
return child;
}
- @SuppressWarnings( "unchecked" )
public void registerWagons()
{
if ( extensionContainer != null )
{
- Map<String, ComponentDescriptor> wagons = extensionContainer.getComponentDescriptorMap( Wagon.ROLE );
+ Set<String> wagons = findChildComponentHints( Wagon.ROLE, container, extensionContainer );
if ( wagons != null && !wagons.isEmpty() )
{
- getLogger().debug( "Wagons to register: " + wagons.keySet() );
- wagonManager.registerWagons( wagons.keySet(), extensionContainer );
+ getLogger().debug( "Wagons to register: " + wagons );
+ wagonManager.registerWagons( wagons, extensionContainer );
}
}
else
Modified: maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=796891&r1=796890&r2=796891&view=diff
==============================================================================
--- maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Wed Jul 22 22:03:26 2009
@@ -19,6 +19,8 @@
* under the License.
*/
+import static org.apache.maven.container.ContainerUtils.findChildComponentHints;
+
import org.apache.maven.MavenArtifactFilterManager;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
@@ -59,6 +61,7 @@
import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.reporting.MavenReport;
import org.apache.maven.settings.Settings;
+import org.apache.maven.wagon.Wagon;
import org.codehaus.classworlds.ClassRealm;
import org.codehaus.classworlds.NoSuchRealmException;
import org.codehaus.plexus.PlexusConstants;
@@ -70,6 +73,7 @@
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
import org.codehaus.plexus.component.discovery.ComponentDiscoveryListener;
+import org.codehaus.plexus.component.repository.ComponentDescriptor;
import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.configuration.PlexusConfiguration;
@@ -1588,6 +1592,7 @@
return pluginContainer.lookup( role, roleHint );
}
+ @SuppressWarnings( "unchecked" )
public Map getPluginComponents( Plugin plugin,
String role )
throws ComponentLookupException, PluginManagerException
@@ -1595,7 +1600,15 @@
PluginDescriptor pluginDescriptor = pluginCollector.getPluginDescriptor( plugin );
PlexusContainer pluginContainer = getPluginContainer( pluginDescriptor );
+
+ Set<String> pluginHints = findChildComponentHints( role, container, pluginContainer );
+ Map<String, Object> components = new HashMap<String, Object>( pluginHints.size() );
+ for ( String hint : pluginHints )
+ {
+ getLogger().debug( "Looking up plugin component: " + role + " with hint: " + hint );
+ components.put( hint, pluginContainer.lookup( role, hint ) );
+ }
- return pluginContainer.lookupMap( role );
+ return components;
}
}