@Override protected void configure() { bindScope( MojoExecutionScoped.class, scope ); bind( MojoExecutionScope.class ).toInstance( scope ); bind( MavenProject.class ).toProvider( MojoExecutionScope.<MavenProject>seededKeyProvider() ).in( scope ); bind( MojoExecution.class ).toProvider( MojoExecutionScope.<MojoExecution>seededKeyProvider() ).in( scope ); }
@Inject public MojoExecutionScopeCoreModule() { super( new MojoExecutionScope() ); }
@Override protected void configure() { MojoExecutionScope scope = new MojoExecutionScope(); bind(MojoExecutionScope.class).toInstance(scope); bindScope(MojoExecutionScoped.class, scope); // standard scope bindings bind(MavenProject.class).toProvider(MojoExecutionScope.<MavenProject>seededKeyProvider()).in(scope); bind(MojoExecution.class).toProvider(MojoExecutionScope.<MojoExecution>seededKeyProvider()).in(scope); } }
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 ); } }
new MojoExecutionScopeModule( container ) );
@Override public Mojo executeMojo(MavenSession session, MavenProject project, MojoExecution execution) throws Exception { Object sessionScope = container.lookup("org.apache.maven.SessionScope"); try { enter(sessionScope); seed(sessionScope, MavenSession.class, session); MojoExecutionScope executionScope = container.lookup(MojoExecutionScope.class); try { executionScope.enter(); executionScope.seed(MavenProject.class, project); executionScope.seed(MojoExecution.class, execution); Mojo mojo = lookupConfiguredMojo(session, execution); mojo.execute(); MojoExecutionEvent event = new MojoExecutionEvent(session, project, execution, mojo); for (MojoExecutionListener listener : container.lookupList(MojoExecutionListener.class)) { listener.afterMojoExecutionSuccess(event); } return mojo; } finally { executionScope.exit(); } } finally { exit(sessionScope); } }
new MojoExecutionScopeModule( container ) );
@Override public Mojo executeMojo(MavenSession session, MavenProject project, MojoExecution execution) throws Exception { SessionScope sessionScope = container.lookup(SessionScope.class); try { sessionScope.enter(); sessionScope.seed(MavenSession.class, session); MojoExecutionScope executionScope = container.lookup(MojoExecutionScope.class); try { executionScope.enter(); executionScope.seed(MavenProject.class, project); executionScope.seed(MojoExecution.class, execution); Mojo mojo = lookupConfiguredMojo(session, execution); mojo.execute(); MojoExecutionEvent event = new MojoExecutionEvent(session, project, execution, mojo); for (MojoExecutionListener listener : container.lookupList(MojoExecutionListener.class)) { listener.afterMojoExecutionSuccess(event); } return mojo; } finally { executionScope.exit(); } } finally { sessionScope.exit(); } }