/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package de.uhilger.filecms.api; import org.apache.tools.ant.BuildEvent; import org.apache.tools.ant.BuildListener; /** * * @author ulrich */ public class FileCmsBuildListener implements BuildListener { private final StringBuilder output; public FileCmsBuildListener() { output = new StringBuilder(); } public String getOutput() { return output.toString(); } private void appendEventInfo(BuildEvent be) { Object elem; output.append("Project: "); output.append(be.getProject().getName()); elem = be.getTarget(); if(elem != null) { output.append(", Target: "); output.append(be.getTarget().getName()); } elem = be.getTask(); if(elem != null) { output.append(", Task: "); output.append(be.getTask().getTaskName()); } output.append(", Message: "); output.append(be.getMessage()); } @Override public void buildStarted(BuildEvent be) { output.append("
"); output.append("BUILD STARTED - "); appendEventInfo(be); } @Override public void buildFinished(BuildEvent be) { output.append("
"); output.append("BUILD FINISHED - "); appendEventInfo(be); } @Override public void targetStarted(BuildEvent be) { output.append("
"); output.append("TARGET STARTED - "); appendEventInfo(be); } @Override public void targetFinished(BuildEvent be) { output.append("
"); output.append("TARGET FINISHED - "); appendEventInfo(be); } @Override public void taskStarted(BuildEvent be) { output.append("
"); output.append("TASK STARTED - "); appendEventInfo(be); } @Override public void taskFinished(BuildEvent be) { output.append("
"); output.append("TASK FNISHED - "); appendEventInfo(be); } @Override public void messageLogged(BuildEvent be) { output.append("
"); output.append("MESSAGE LOGGED - "); appendEventInfo(be); } }