@Override public void forkedProjectStarted( ExecutionEvent event ) { if ( logger.isInfoEnabled() && event.getMojoExecution().getForkedExecutions().size() > 1 ) { logger.info( "" ); infoLine( '>' ); infoMain( "Forking " + event.getProject().getName() + " " + event.getProject().getVersion() ); infoLine( '>' ); } } }
@Override public void sessionEnded( ExecutionEvent event ) { if ( logger.isInfoEnabled() ) { if ( event.getSession().getProjects().size() > 1 ) { logReactorSummary( event.getSession() ); } logResult( event.getSession() ); logStats( event.getSession() ); infoLine( '-' ); } }
private void onEvent(ExecutionEvent event) throws Exception { switch (event.getType()) { case MojoStarted: session.mojoStarted(event.getProject(), event.getMojoExecution()); break; case MojoFailed: session.mojoFailed(event.getProject(), event.getMojoExecution()); break; case MojoSucceeded: session.mojoSucceeded(event.getProject(), event.getMojoExecution()); break; case SessionEnded: doReport(event); break; default: //Ignore other events } }
@Override public void projectSkipped( ExecutionEvent event ) { if ( logger.isInfoEnabled() ) { logger.info( "" ); infoLine( '-' ); infoMain( "Skipping " + event.getProject().getName() ); logger.info( "This project has been banned from the build due to previous failures." ); infoLine( '-' ); } }
private void recordProjectFinished( final ExecutionEvent event ) { Type type = event.getType(); if ( ProjectSucceeded.equals( type ) || ProjectFailed.equals( type ) || ProjectSkipped.equals( type ) ) { MavenProject project = event.getProject(); BuildSummary buildSummary = event.getSession().getResult().getBuildSummary( project ); log.debug( "Updating MavenProject" ); getBuildRecorder().recordProjectFinished(project, buildSummary); // Record artifact usage at end of project build since they are // populated in each phase, not at the beginning. // NOTE: Benjamin has indicated that this is very closely bound to // the plugin lifecycle and exposes only those artifacts, that a // plugin has asked for now. // Hence why there's no info at project finished. ProjectLogger.log( project, "project finished" ); } }
public void reccordMojoStarted( ExecutionEvent event ) { initMojoStartTime( event.getProject() ); MavenProject mavenProject = event.getProject(); XmlPlexusConfiguration xmlPlexusConfiguration = new XmlPlexusConfiguration( event.getMojoExecution().getConfiguration() ); Mojo mojo = null;//getMojo( event.getMojoExecution(), event.getSession() ); MojoInfo mojoInfo = new MojoInfo( event.getMojoExecution(), mojo, xmlPlexusConfiguration, getExpressionEvaluator( event.getSession(), event.getMojoExecution() ) ); List<MavenReporter> mavenReporters = getMavenReporters( mavenProject ); MavenBuildProxy2 mavenBuildProxy2 = getMavenBuildProxy2( mavenProject ); if (mavenReporters != null) { for (MavenReporter mavenReporter : mavenReporters) { try { mavenReporter.preExecute( mavenBuildProxy2, mavenProject, mojoInfo, maven3Builder.listener); } catch ( InterruptedException e ) { e.printStackTrace(); } catch ( IOException e ) { e.printStackTrace(); } } } }
@Override public void mojoSkipped( ExecutionEvent event ) { if ( logger.isWarnEnabled() ) { logger.warn( "Goal " + event.getMojoExecution().getGoal() + " requires online mode for execution but Maven is currently offline, skipping" ); } }
private void storeStartTime(ExecutionEvent event) { if (event.getType() == ProjectDiscoveryStarted) { statistics.setStartTime(event.getSession().getStartTime()); } }
public void reccordMojoFailed( ExecutionEvent event ) { Long startTime = getMojoStartTime( event.getProject() ); Date endTime = new Date(); MavenProject mavenProject = event.getProject(); XmlPlexusConfiguration xmlPlexusConfiguration = new XmlPlexusConfiguration( event.getMojoExecution().getConfiguration() ); new MojoInfo( event.getMojoExecution(), mojo, xmlPlexusConfiguration, getExpressionEvaluator( event.getSession(), event.getMojoExecution() ) ); mavenBuildProxy2.setExecutedMojos( this.executedMojosPerModule.get( new ModuleName( event.getProject() ) ) ); mavenReporter.postExecute( mavenBuildProxy2, mavenProject, mojoInfo, maven3Builder.listener, event.getException() ); } catch (NoSuchMethodError e) { mavenReporter.postExecute( mavenBuildProxy2, mavenProject, mojoInfo, maven3Builder.listener, null );
private void storeExecutionEvent(ExecutionEvent event) { logger.debug(String.format("Received event (%s): %s", event.getClass(), event)); MavenProject currentProject = event.getSession().getCurrentProject(); switch (event.getType()) { case ProjectStarted: statistics.startProject(currentProject); break; case ProjectSucceeded: case ProjectFailed: statistics.stopProject(currentProject); break; case MojoStarted: statistics.startExecution(currentProject, event.getMojoExecution()); break; case MojoSucceeded: case MojoFailed: statistics.stopExecution(currentProject, event.getMojoExecution()); break; } } }
root.setAttribute("type", executionEvent.getType().name()); root.addChild(newElement("project", executionEvent.getProject())); MojoExecution execution = executionEvent.getMojoExecution(); if(executionEvent.getException() != null) { root.addChild(newElement("exception", executionEvent.getException()));
private void recordProjectStarted( final ExecutionEvent event ) { if ( ProjectStarted.equals( event.getType() ) ) { MavenProject project = event.getProject(); log.debug( "Updating MavenProject" ); getBuildRecorder().recordProjectStarted(project); ProjectLogger.log( project, "project started" ); } }
public MojoInfo(ExecutionEvent event, long startTime) { this(event.getMojoExecution(), null, new XmlPlexusConfiguration( event.getMojoExecution().getConfiguration() ), new PluginParameterExpressionEvaluator( event.getSession(), event.getMojoExecution() ), startTime); }
public boolean handle(@Nonnull Object event) { if (!(event instanceof ExecutionEvent)) { return false; } ExecutionEvent executionEvent = (ExecutionEvent) event; ExecutionEvent.Type supportedType = getSupportedType(); if (supportedType != null && !(supportedType.equals(executionEvent.getType()))) { return false; } String supportedGoal = getSupportedPluginGoal(); if (supportedGoal == null) { return _handle(executionEvent); } else { String[] gag = supportedGoal.split(":"); if (gag.length == 3) { MojoExecution execution = executionEvent.getMojoExecution(); if (execution.getGroupId().equals(gag[0]) && execution.getArtifactId().equals(gag[1]) && execution.getGoal().equals(gag[2])) { _handle(executionEvent); return true; } else { return false; } } else { reporter.print(toString() + " - unsupported supportedPluginGoal:" + supportedGoal); return false; } } }
private Exception getExecutionException(ExecutionEvent event) { // http://issues.jenkins-ci.org/browse/JENKINS-8493 // with maven 3.0.2 see http://jira.codehaus.org/browse/MNG-4922 // catch NoSuchMethodError if folks not using 3.0.2+ try { return event.getException(); } catch (NoSuchMethodError e) { return new MojoExecutionException(event.getMojoExecution()+" failed"); } }
public void handle( final ExecutionEvent event ) throws Exception { Type type = event.getType(); log.debug( "Execution event type: {}", type ); recordSessionStarted( event ); recordProjectStarted( event ); recordMojoStarted( event ); recordProjectFinished( event ); // TODO: could probably handle SessionEnded instead of MavenExecutionResult // in MavenExecutionResultHandler }
private void recordMojoStarted( final ExecutionEvent event ) { if( ExecutionEvent.Type.MojoStarted.equals(event.getType()) ) { MojoExecution mojoExecution = event.getMojoExecution(); ProjectLogger.log(event.getProject(), "mojo started - " + mojoExecution.getLifecyclePhase() + " " + mojoExecution.getArtifactId() + " " + mojoExecution.getExecutionId() ); // There are none. //log.debug("Mojo Plugin deps: {}", mojoExecution.getPlugin().getDependencies()); } }
MavenProject project = event.getProject(); String building = "Building " + event.getProject().getName() + " " + event.getProject().getVersion();
private void recordProjectFinished( final ExecutionEvent event ) { Type type = event.getType(); if ( ProjectSucceeded.equals( type ) || ProjectFailed.equals( type ) || ProjectSkipped.equals( type ) ) { MavenProject project = event.getProject(); BuildSummary buildSummary = event.getSession().getResult().getBuildSummary( project ); log.debug( "Updating MavenProject" ); getBuildRecorder().recordProjectFinished(project, buildSummary); // Record artifact usage at end of project build since they are // populated in each phase, not at the beginning. // NOTE: Benjamin has indicated that this is very closely bound to // the plugin lifecycle and exposes only those artifacts, that a // plugin has asked for now. // Hence why there's no info at project finished. ProjectLogger.log( project, "project finished" ); } }
public void reccordMojoSucceeded( ExecutionEvent event ) { Long startTime = getMojoStartTime( event.getProject() ); Date endTime = new Date(); MavenProject mavenProject = event.getProject(); XmlPlexusConfiguration xmlPlexusConfiguration = new XmlPlexusConfiguration( event.getMojoExecution().getConfiguration() ); new MojoInfo( event.getMojoExecution(), mojo, xmlPlexusConfiguration, getExpressionEvaluator( event.getSession(), event.getMojoExecution() ) ); mavenBuildProxy2.setExecutedMojos( this.executedMojosPerModule.get( new ModuleName( event.getProject() ) ) );