void postExecute(MavenProject project, MojoInfo mojoInfo, Exception exception) throws IOException, InterruptedException, hudson.maven.agent.AbortException { ModuleName name = new ModuleName(project); List<ExecutedMojo> mojoList = executedMojos.get(name); if(mojoList==null) executedMojos.put(name,mojoList=new ArrayList<ExecutedMojo>()); mojoList.add(new ExecutedMojo(mojoInfo,System.currentTimeMillis()-mojoStartTime)); MavenBuildProxy2 proxy = proxies.get(name); for (MavenReporter r : reporters.get(name)) if(!r.postExecute(proxy,project,mojoInfo,listener,exception)) throw new hudson.maven.agent.AbortException(r+" failed"); if(exception!=null) proxy.setResult(Result.FAILURE); }
public void postBuild(MavenSession session, ReactorManager rm, EventDispatcher dispatcher) throws BuildFailureException, LifecycleExecutionException, IOException, InterruptedException { long startTime = System.nanoTime(); // If postModule wasn't executed before this method, the build has failed. if (lastModule != null) { ModuleName name = new ModuleName(lastModule); MavenBuildProxy2 proxy = listener.proxies.get(name); proxy.setResult(Result.FAILURE); } fireLeaveModule(); listener.postBuild(session, rm, dispatcher); overheadTime += System.nanoTime()-startTime; }
@Override void preBuild(MavenSession session, ReactorManager rm, EventDispatcher dispatcher) throws BuildFailureException, LifecycleExecutionException, IOException, InterruptedException { // set all modules which are not actually being build (in incremental builds) to NOT_BUILD List<MavenProject> projects = rm.getSortedProjects(); Set<ModuleName> buildingProjects = new HashSet<>(); for (MavenProject p : projects) { buildingProjects.add(new ModuleName(p)); } for (Entry<ModuleName,FilterImpl> e : this.proxies.entrySet()) { if (! buildingProjects.contains(e.getKey())) { MavenBuildProxy2 proxy = e.getValue(); proxy.start(); proxy.setResult(Result.NOT_BUILT); proxy.end(); } } }
@Override void preBuild(MavenSession session, ReactorManager rm, EventDispatcher dispatcher) throws BuildFailureException, LifecycleExecutionException, IOException, InterruptedException { // set all modules which are not actually being build (in incremental builds) to NOT_BUILD List<MavenProject> projects = rm.getSortedProjects(); Set<ModuleName> buildingProjects = new HashSet<ModuleName>(); for (MavenProject p : projects) { buildingProjects.add(new ModuleName(p)); } for (Entry<ModuleName,MavenBuildProxy2> e : this.proxies.entrySet()) { if (! buildingProjects.contains(e.getKey())) { MavenBuildProxy2 proxy = e.getValue(); proxy.start(); proxy.setResult(Result.NOT_BUILT); proxy.end(); } } }
void postExecute(MavenProject project, MojoInfo mojoInfo, Exception exception) throws IOException, InterruptedException, hudson.maven.agent.AbortException { ModuleName name = new ModuleName(project); List<ExecutedMojo> mojoList = executedMojos.get(name); if(mojoList==null) executedMojos.put(name,mojoList=new ArrayList<>()); mojoList.add(new ExecutedMojo(mojoInfo,System.currentTimeMillis()-mojoStartTime)); MavenBuildProxy2 proxy = proxies.get(name); for (MavenReporter r : reporters.get(name)){ if(!r.postExecute(proxy,project,mojoInfo,listener,exception)) { throw new hudson.maven.agent.AbortException(r+" failed"); } else if (r instanceof TestFailureDetector) { if(((TestFailureDetector) r).hasTestFailures()) { hasTestFailures.compareAndSet(false, true); } } } if(exception!=null) proxy.setResult(Result.FAILURE); }
/** * @see org.apache.maven.execution.ExecutionListener#sessionStarted(org.apache.maven.execution.ExecutionEvent) */ public void sessionStarted( ExecutionEvent event ) { this.eventLogger.sessionStarted(event); Map<ModuleName, MavenProject> buildingProjects = getSessionProjects(event); for (Entry<ModuleName,FilterImpl> e : this.proxies.entrySet()) { MavenProject project = buildingProjects.get(e.getKey()); if (project!=null) { for (MavenReporter mavenReporter : fixNull(reporters.get(e.getKey()))) { try { mavenReporter.preBuild( e.getValue() ,project, maven3Builder.listener); } catch ( InterruptedException x ) { x.printStackTrace(); } catch ( IOException x ) { x.printStackTrace(); } } } else { // set all modules which are not actually being build (in incremental builds) to NOT_BUILD (JENKINS-9072) LOGGER.fine("Project " + e.getKey() + " needs not be build"); MavenBuildProxy2 proxy = e.getValue(); proxy.start(); proxy.setResult(Result.NOT_BUILT); proxy.end(); } } }
public void reccordProjectFailed( ExecutionEvent event ) { MavenBuildProxy2 mavenBuildProxy2 = getMavenBuildProxy2( event.getProject() ); mavenBuildProxy2.end(); mavenBuildProxy2.setResult( Result.FAILURE ); MavenProject mavenProject = event.getProject(); List<MavenReporter> mavenReporters = getMavenReporters( mavenProject );
private void recordProjectEnded(ExecutionEvent event, Result result) { MavenBuildProxy2 mavenBuildProxy2 = getMavenBuildProxy2( event.getProject() ); if (mavenBuildProxy2 == null) return; mavenBuildProxy2.setResult(result); List<MavenReporter> mavenReporters = getMavenReporters( event.getProject() ); for ( MavenReporter mavenReporter : fixNull(mavenReporters)) { try { mavenReporter.postBuild( mavenBuildProxy2, event.getProject(), maven3Builder.listener); } catch ( InterruptedException e ) { e.printStackTrace(); } catch ( IOException e ) { e.printStackTrace(); } } mavenBuildProxy2.end(); }
public void reccordProjectSucceeded( ExecutionEvent event ) { MavenBuildProxy2 mavenBuildProxy2 = getMavenBuildProxy2( event.getProject() ); mavenBuildProxy2.end(); mavenBuildProxy2.setResult( Result.SUCCESS );
private void recordMojoEnded(ExecutionEvent event, Exception problem) { MavenProject mavenProject = event.getProject(); MojoInfo mojoInfo = new MojoInfo(event,getMojoStartTime(event.getProject())); recordExecutionTime(event,mojoInfo); List<MavenReporter> mavenReporters = getMavenReporters( mavenProject ); MavenBuildProxy2 mavenBuildProxy2 = getMavenBuildProxy2( mavenProject ); if (mavenBuildProxy2 == null) return; mavenBuildProxy2.setExecutedMojos( this.executedMojosPerModule.get( new ModuleName(event) ) ); for (MavenReporter mavenReporter : fixNull(mavenReporters)) { try { mavenReporter.postExecute( mavenBuildProxy2, mavenProject, mojoInfo, maven3Builder.listener, problem); if (mavenReporter instanceof TestFailureDetector) { if(((TestFailureDetector) mavenReporter).hasTestFailures()) { hasTestFailures.compareAndSet(false, true); } } } catch ( InterruptedException e ) { e.printStackTrace(); } catch ( IOException e ) { mavenBuildProxy2.setResult(Result.FAILURE); e.printStackTrace(); } } }