X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fant%2FSlcExecutionBuildListener.java;h=a8dd15c7d76f89ea5c8de3f8f672fee08458ef78;hb=4226558ccaf4d40b55d5d8492d0ef3476dfdf0c9;hp=f2bedce400527b3f8ed0e484d75edf0e346355fe;hpb=c40be4f393a3609e7892095db01e783a36a6c46b;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java index f2bedce40..a8dd15c7d 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java @@ -28,12 +28,14 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements private List notifiers = new Vector(); - // private Map currentStep = new - // HashMap(); - - // private SlcExecutionStep currentStep = null; private boolean currentStepNotified = true; + // CUSTOMIZATIONS + private boolean logBeforeFirstTarget = false; + private boolean firstTargetStarted = false; + + private boolean logTaskStartFinish = true; + public void init(Project project) { if (this.project != null) { throw new SlcAntException("Build listener already initialized"); @@ -57,20 +59,23 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements } public void buildStarted(BuildEvent event) { - // SlcExecution slcExecution = getSlcExecution(event); - } public void buildFinished(BuildEvent event) { SlcExecution slcExecution = getSlcExecution(event); + String oldStatus = slcExecution.getStatus(); slcExecution.setStatus(SlcExecution.STATUS_FINISHED); for (SlcExecutionNotifier notifier : notifiers) { - notifier.updateExecution(slcExecution); + notifier.updateStatus(slcExecution, oldStatus, slcExecution + .getStatus()); } } public void messageLogged(BuildEvent event) { + if (!shouldLog()) + return; + SlcExecution slcExecution = getSlcExecution(event); if (slcExecution != null) { if (currentStepNotified) { @@ -87,6 +92,9 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements } public void targetStarted(BuildEvent event) { + if (!firstTargetStarted) + firstTargetStarted = true; + addLogStep(event, "Target " + event.getTarget().getName() + " started"); } @@ -95,23 +103,35 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements } public void taskStarted(BuildEvent event) { + if (!shouldLog()) + return; + SlcExecution slcExecution = getSlcExecution(event); if (!currentStepNotified) { notifyStep(slcExecution, slcExecution.currentStep()); currentStepNotified = true; } - slcExecution.getSteps().add( - new SlcExecutionStep("LOG", "Task " - + event.getTask().getTaskName() + " started")); + String msg = null; + if (logTaskStartFinish) + msg = "Task " + event.getTask().getTaskName() + " started"; + + slcExecution.getSteps().add(new SlcExecutionStep("LOG", msg)); + currentStepNotified = false; } public void taskFinished(BuildEvent event) { + if (!shouldLog()) + return; + SlcExecution slcExecution = getSlcExecution(event); if (!currentStepNotified) { - slcExecution.currentStep().addLog( - "Task " + event.getTask().getTaskName() + " finished"); + + if (logTaskStartFinish) + slcExecution.currentStep().addLog( + "Task " + event.getTask().getTaskName() + " finished"); + notifyStep(slcExecution, slcExecution.currentStep()); currentStepNotified = true; } @@ -193,15 +213,16 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements } + protected boolean shouldLog() { + return logBeforeFirstTarget || firstTargetStarted; + } + @Override public void close() { - // TODO Auto-generated method stub - } @Override public boolean requiresLayout() { - // TODO Auto-generated method stub return false; }