private void discoverPluginComponents( final ClassRealm pluginRealm, Plugin plugin, PluginDescriptor pluginDescriptor ) throws PluginContainerException { try { if ( pluginDescriptor != null ) { for ( ComponentDescriptor<?> componentDescriptor : pluginDescriptor.getComponents() ) { componentDescriptor.setRealm( pluginRealm ); container.addComponentDescriptor( componentDescriptor ); } } ( (DefaultPlexusContainer) container ).discoverComponents( pluginRealm, new SessionScopeModule( container ), new MojoExecutionScopeModule( container ) ); } catch ( ComponentLookupException | CycleDetectedInComponentGraphException e ) { throw new PluginContainerException( plugin, pluginRealm, "Error in component graph of plugin " + plugin.getId() + ": " + e.getMessage(), e ); } }
public List<ComponentDescriptor<?>> discoverComponents( ClassRealm realm ) throws PlexusConfigurationException, CycleDetectedInComponentGraphException { return discoverComponents( realm, null ); }
container.discoverComponents( extension.getClassRealm(), new SessionScopeModule( container ), new MojoExecutionScopeModule( container ) );
public List discoverComponents( ClassRealm classRealm ) throws PlexusConfigurationException, ComponentRepositoryException { return discoverComponents( classRealm, false ); }
discoverComponents( getContainerRealm() );
public <T> void addComponentDescriptor( final ComponentDescriptor<T> descriptor ) { ClassRealm realm = descriptor.getRealm(); if ( null == realm ) { realm = containerRealm; descriptor.setRealm( realm ); } synchronized ( descriptorMap ) { List<ComponentDescriptor<?>> descriptors = descriptorMap.get( realm ); if ( null == descriptors ) { descriptors = new ArrayList<ComponentDescriptor<?>>(); descriptorMap.put( realm, descriptors ); } descriptors.add( descriptor ); } if ( containerRealm == realm ) { discoverComponents( containerRealm ); // for Maven3 testing } }
public void addJarResource( File jar ) throws PlexusContainerException { try { containerRealm.addURL( jar.toURI().toURL() ); if ( initialized ) { discoverComponents( containerRealm ); } } catch ( MalformedURLException e ) { throw new PlexusContainerException( "Cannot add jar resource: " + jar + " (bad URL)", e ); } catch ( PlexusConfigurationException e ) { throw new PlexusContainerException( "Cannot add jar resource: " + jar + " (error discovering new components)", e ); } catch ( ComponentRepositoryException e ) { throw new PlexusContainerException( "Cannot add jar resource: " + jar + " (error discovering new components)", e ); } }
public List<ComponentDescriptor<?>> discoverComponents( final ClassRealm realm, final Module... customModules ) { try { final List<PlexusBeanModule> beanModules = new ArrayList<PlexusBeanModule>(); synchronized ( descriptorMap ) { final ClassSpace space = new URLClassSpace( realm ); final List<ComponentDescriptor<?>> descriptors = descriptorMap.remove( realm ); if ( null != descriptors ) { beanModules.add( new ComponentDescriptorBeanModule( space, descriptors ) ); } if ( containerRealm != realm && !classRealmManager.isManaged( realm ) ) { beanModules.add( new PlexusXmlBeanModule( space, variables ) ); final BeanScanning local = BeanScanning.GLOBAL_INDEX == scanning ? BeanScanning.INDEX : scanning; beanModules.add( new PlexusAnnotatedBeanModule( space, variables, local ) ); } } if ( !beanModules.isEmpty() ) { classRealmManager.manage( realm, addPlexusInjector( beanModules, customModules ) ); } } catch ( final RuntimeException e ) { getLogger().warn( realm.toString(), e ); }
container.discoverComponents( container.getCoreRealm() );
discoverComponents( componentRealm );
container.discoverComponents( extension.getClassRealm(), new SessionScopeModule( container ), new MojoExecutionScopeModule( container ) );
container.discoverComponents(extension.getClassRealm());
container.discoverComponents(extension.getClassRealm());