package net.sourceforge.cruisecontrol.builders; import org.apache.tools.ant.BuildEvent; import org.apache.tools.ant.BuildListener; import org.apache.tools.ant.XmlLogger; import java.util.Vector; /** * Ant XmlLogger impl (for use only as a Listener) that creates log.xml file for CC build results. * Sets its log level to match that of the logger {@link AntProgressXmlLogger}. * @author Dan Rollo * Date: Aug 8, 2007 * Time: 10:21:52 PM */ public class AntProgressXmlListener extends XmlLogger { /** * Fired when the build starts, this builds the top-level element for the * document and remembers the time of the start of the build. * * @param event Ignored. */ public void buildStarted(BuildEvent event) { super.buildStarted(event); final Vector buildListeners = event.getProject().getBuildListeners(); BuildListener buildListener; for (int i = 0; i < buildListeners.size(); i++) { buildListener = (BuildListener) buildListeners.get(i); if (buildListener instanceof AntProgressXmlLogger) { setMessageOutputLevel(((AntProgressXmlLogger) buildListener).getMessageOutputLevel()); } } } }