Author: kenney Date: Thu Jan 18 08:33:34 2007 New Revision: 497491 URL: http://svn.apache.org/viewvc?view=rev&rev=497491 Log: Use plugin realm to lookup plugin components - fixes custom lifecycle mappings
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=497491&r1=497490&r2=497491 ============================================================================== --- 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 08:33:34 2007 @@ -1207,20 +1207,31 @@ } } - public Object getPluginComponent( Plugin plugin, - String role, - String roleHint ) + public Object getPluginComponent( Plugin plugin, String role, String roleHint ) throws PluginManagerException, ComponentLookupException { - // XXX this needs the plugin realm! - return container.lookup( role, roleHint ); + ClassRealm pluginRealm = pluginCollector.getPluginDescriptor( plugin ).getClassRealm(); + + if ( pluginRealm == null ) + { + getLogger().warn( "getPluginComponent(" + plugin + ", " + role + "): descriptor is missing classRealm" ); + pluginRealm = DefaultPlexusContainer.getLookupRealm(); + } + + return container.lookup( role, roleHint, pluginRealm ); } - public Map getPluginComponents( Plugin plugin, - String role ) + public Map getPluginComponents( Plugin plugin, String role ) throws ComponentLookupException, PluginManagerException { - // XXX this needs the plugin realm! - return container.lookupMap( role ); + ClassRealm pluginRealm = pluginCollector.getPluginDescriptor( plugin ).getClassRealm(); + + if ( pluginRealm == null ) + { + getLogger().warn( "getPluginComponent(" + plugin + ", " + role + "): descriptor is missing classRealm" ); + pluginRealm = DefaultPlexusContainer.getLookupRealm(); + } + + return container.lookupMap( role, pluginRealm ); } }