private void logResult( MavenSession session ) { infoLine( '-' ); MessageBuilder buffer = buffer(); if ( session.getResult().hasExceptions() ) { buffer.failure( "BUILD FAILURE" ); } else { buffer.success( "BUILD SUCCESS" ); } logger.info( buffer.toString() ); }
MavenExecutionResult result = session.getResult();
session.getResult().addException( e ); break;
MavenExecutionResult result = session.getResult();
private void logResult( MavenSession session ) { logger.info( chars( '-', LINE_LENGTH ) ); if ( session.getResult().hasExceptions() ) { logger.info( "BUILD FAILURE" ); } else { logger.info( "BUILD SUCCESS" ); } }
private void logCompleted(MavenProject project) { BuildSummary buildSummary = rootSession.getResult().getBuildSummary(project); String message = "SKIPPED"; if (buildSummary instanceof BuildSuccess) { message = "SUCCESS"; } else if (buildSummary instanceof BuildFailure) { message = "FAILURE"; } else if (buildSummary != null) { logger.warn("Unexpected project build summary class {}", buildSummary.getClass()); message = "UNKNOWN"; } logger.info("{} build of project {}", message, projectGA(project)); }
/* package */void buildProject(MavenProject project) { logger.info("STARTED build of project {}", projectGA(project)); try { MavenSession copiedSession = rootSession.clone(); lifecycleModuleBuilder.buildProject(copiedSession, rootSession, reactorContext, project, taskSegment); } catch (RuntimeException ex) { // preserve the xml stack trace, and the java cause chain rootSession.getResult() .addException(new RuntimeException(project.getName() + ": " + ex.getMessage(), ex)); } }
@Override public void afterSessionEnd(MavenSession session) throws MavenExecutionException { boolean errors = !session.getResult().getExceptions().isEmpty(); if (!deployAtEndRequests.isEmpty()) { log.info(""); log.info("------------------------------------------------------------------------"); if (errors) { log.info("-- Not performing deploy at end due to errors --"); } else { log.info("-- Performing deploy at end --"); log.info("------------------------------------------------------------------------"); synchronized (deployAtEndRequests) { for (DeployRequest deployRequest : deployAtEndRequests) { try { deploy(session.getRepositorySession(), deployRequest); } catch (DeploymentException e) { log.error(e.getMessage(), e); throw new MavenExecutionException(e.getMessage(), e); } } deployAtEndRequests.clear(); } } log.info("------------------------------------------------------------------------"); } }
@Override public void afterSessionEnd(MavenSession session) throws MavenExecutionException { boolean errors = !session.getResult().getExceptions().isEmpty(); if (!deployAtEndRequests.isEmpty()) { log.info(""); log.info("------------------------------------------------------------------------"); if (errors) { log.info("-- Not performing deploy at end due to errors --"); } else { log.info("-- Performing deploy at end --"); log.info("------------------------------------------------------------------------"); synchronized (deployAtEndRequests) { for (DeployRequest deployRequest : deployAtEndRequests) { try { deploy(session.getRepositorySession(), deployRequest); } catch (DeploymentException e) { log.error(e.getMessage(), e); throw new MavenExecutionException(e.getMessage(), e); } } deployAtEndRequests.clear(); } } log.info("------------------------------------------------------------------------"); } }
private void logResult( MavenSession session ) { infoLine( '-' ); MessageBuilder buffer = buffer(); if ( session.getResult().hasExceptions() ) { buffer.failure( "BUILD FAILURE" ); } else { buffer.success( "BUILD SUCCESS" ); } logger.info( buffer.toString() ); }
@Override public Build extract(ExecutionEvent event) { MavenSession session = event.getSession(); if (!session.getResult().hasExceptions()) { if (conf.isIncludeEnvVars()) { Properties envProperties = new Properties(); envProperties.putAll(conf.getAllProperties()); envProperties = BuildInfoExtractorUtils.getEnvProperties(envProperties); for (Map.Entry<Object, Object> envProp : envProperties.entrySet()) { buildInfoBuilder.addProperty(envProp.getKey(), envProp.getValue()); } } Date finish = new Date(); long time = finish.getTime() - session.getRequest().getStartTime().getTime(); return buildInfoBuilder.durationMillis(time).build(); } return null; } }
MavenExecutionResult result = session.getResult();
private void logResult( MavenSession session ) { logger.info( chars( '-', LINE_LENGTH ) ); if ( session.getResult().hasExceptions() ) { logger.info( "BUILD FAILURE" ); } else { logger.info( "BUILD SUCCESS" ); } }
@Override public void onEvent(Object event) throws Exception { if (!(event instanceof ExecutionEvent)) { return; } ExecutionEvent ee = (ExecutionEvent) event; if (ee.getType() != Type.SessionEnded) { return; } String projectName = ee.getSession().getTopLevelProject().getName(); List<Throwable> exceptions = ee.getSession().getResult().getExceptions(); NotifierFactory notifierFactory = new NotifierFactory(); Notifier notifier = notifierFactory.getNotifier(); if (notifier != null) { if (exceptions == null || exceptions.isEmpty()) { notifier.notify("Build successful", "Built " + projectName, NotificationType.SUCCESS); } else { String errorMessage = exceptions.get(0).getMessage(); notifier.notify("Build failed", projectName + " failed : " + errorMessage, NotificationType.FAIL); } } }
private void build(MavenSession session, MavenProject project, List<MavenProject> allProjects, GoalSet goals) throws MojoExecutionException { session.setProjects(allProjects); ProjectIndex projectIndex = new ProjectIndex(session.getProjects()); try { ReactorBuildStatus reactorBuildStatus = new ReactorBuildStatus(new BomDependencyGraph(session.getProjects())); ReactorContext reactorContext = new ReactorContextFactory(new MavenVersion(mavenVersion)).create(session.getResult(), projectIndex, Thread.currentThread().getContextClassLoader(), reactorBuildStatus, builder); List<TaskSegment> segments = segmentCalculator.calculateTaskSegments(session); for (TaskSegment segment : segments) { builder.buildProject(session, reactorContext, project, filterSegment(segment, goals)); } } catch (Throwable t) { throw new MojoExecutionException("Error building generated bom:" + project.getArtifactId(), t); } }
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" ); } }
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" ); } }
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" ); } }