\r
private List<SlcExecutionNotifier> notifiers = new Vector<SlcExecutionNotifier>();\r
\r
- // private Map<SlcExecution, SlcExecutionStep> currentStep = new\r
- // HashMap<SlcExecution, SlcExecutionStep>();\r
-\r
- // private SlcExecutionStep currentStep = null;\r
private boolean currentStepNotified = true;\r
\r
+ // CUSTOMIZATIONS\r
+ private boolean logBeforeFirstTarget = false;\r
+ private boolean firstTargetStarted = false;\r
+\r
+ private boolean logTaskStartFinish = true;\r
+\r
public void init(Project project) {\r
if (this.project != null) {\r
throw new SlcAntException("Build listener already initialized");\r
}\r
\r
public void buildStarted(BuildEvent event) {\r
- // SlcExecution slcExecution = getSlcExecution(event);\r
-\r
}\r
\r
public void buildFinished(BuildEvent event) {\r
SlcExecution slcExecution = getSlcExecution(event);\r
+ String oldStatus = slcExecution.getStatus();\r
slcExecution.setStatus(SlcExecution.STATUS_FINISHED);\r
\r
for (SlcExecutionNotifier notifier : notifiers) {\r
- notifier.updateExecution(slcExecution);\r
+ notifier.updateStatus(slcExecution, oldStatus, slcExecution\r
+ .getStatus());\r
}\r
}\r
\r
public void messageLogged(BuildEvent event) {\r
+ if (!shouldLog())\r
+ return;\r
+\r
SlcExecution slcExecution = getSlcExecution(event);\r
if (slcExecution != null) {\r
if (currentStepNotified) {\r
}\r
\r
public void targetStarted(BuildEvent event) {\r
+ if (!firstTargetStarted)\r
+ firstTargetStarted = true;\r
+\r
addLogStep(event, "Target " + event.getTarget().getName() + " started");\r
}\r
\r
}\r
\r
public void taskStarted(BuildEvent event) {\r
+ if (!shouldLog())\r
+ return;\r
+\r
SlcExecution slcExecution = getSlcExecution(event);\r
if (!currentStepNotified) {\r
notifyStep(slcExecution, slcExecution.currentStep());\r
currentStepNotified = true;\r
}\r
\r
- slcExecution.getSteps().add(\r
- new SlcExecutionStep("LOG", "Task "\r
- + event.getTask().getTaskName() + " started"));\r
+ String msg = null;\r
+ if (logTaskStartFinish)\r
+ msg = "Task " + event.getTask().getTaskName() + " started";\r
+\r
+ slcExecution.getSteps().add(new SlcExecutionStep("LOG", msg));\r
+\r
currentStepNotified = false;\r
}\r
\r
public void taskFinished(BuildEvent event) {\r
+ if (!shouldLog())\r
+ return;\r
+\r
SlcExecution slcExecution = getSlcExecution(event);\r
if (!currentStepNotified) {\r
- slcExecution.currentStep().addLog(\r
- "Task " + event.getTask().getTaskName() + " finished");\r
+\r
+ if (logTaskStartFinish)\r
+ slcExecution.currentStep().addLog(\r
+ "Task " + event.getTask().getTaskName() + " finished");\r
+\r
notifyStep(slcExecution, slcExecution.currentStep());\r
currentStepNotified = true;\r
}\r
\r
}\r
\r
+ protected boolean shouldLog() {\r
+ return logBeforeFirstTarget || firstTargetStarted;\r
+ }\r
+\r
@Override\r
public void close() {\r
- // TODO Auto-generated method stub\r
-\r
}\r
\r
@Override\r
public boolean requiresLayout() {\r
- // TODO Auto-generated method stub\r
return false;\r
}\r
\r