git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270150 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -58,6 +58,8 @@ import java.io.PrintStream; | |||
| import java.io.PrintWriter; | |||
| import java.io.StringWriter; | |||
| import org.apache.tools.ant.util.StringUtils; | |||
| /** | |||
| * Writes build event to a PrintStream. Currently, it | |||
| * only writes which targets are being executed, and | |||
| @@ -71,8 +73,6 @@ public class DefaultLogger implements BuildLogger { | |||
| protected int msgOutputLevel = Project.MSG_ERR; | |||
| private long startTime = System.currentTimeMillis(); | |||
| protected static String lSep = System.getProperty("line.separator"); | |||
| protected boolean emacsMode = false; | |||
| /** | |||
| @@ -134,29 +134,29 @@ public class DefaultLogger implements BuildLogger { | |||
| StringBuffer message = new StringBuffer(); | |||
| if (error == null) { | |||
| message.append(lSep + "BUILD SUCCESSFUL"); | |||
| message.append(StringUtils.LINE_SEP); | |||
| message.append("BUILD SUCCESSFUL"); | |||
| } | |||
| else { | |||
| message.append(lSep + "BUILD FAILED" + lSep); | |||
| message.append(StringUtils.LINE_SEP); | |||
| message.append("BUILD FAILED"); | |||
| message.append(StringUtils.LINE_SEP); | |||
| if (Project.MSG_VERBOSE <= msgOutputLevel || | |||
| !(error instanceof BuildException)) { | |||
| StringWriter sw = new StringWriter(); | |||
| PrintWriter pw = new PrintWriter(sw); | |||
| error.printStackTrace(pw); | |||
| message.append(sw.toString()); | |||
| message.append(StringUtils.getStackTrace(error)); | |||
| } | |||
| else { | |||
| if (error instanceof BuildException) { | |||
| message.append(error.toString() + lSep); | |||
| message.append(error.toString()).append(StringUtils.LINE_SEP); | |||
| } | |||
| else { | |||
| message.append(error.getMessage() + lSep); | |||
| message.append(error.getMessage()).append(StringUtils.LINE_SEP); | |||
| } | |||
| } | |||
| } | |||
| message.append(lSep + "Total time: " | |||
| message.append(StringUtils.LINE_SEP); | |||
| message.append("Total time: " | |||
| + formatTime(System.currentTimeMillis() - startTime)); | |||
| String msg = message.toString(); | |||
| @@ -170,7 +170,7 @@ public class DefaultLogger implements BuildLogger { | |||
| public void targetStarted(BuildEvent event) { | |||
| if (Project.MSG_INFO <= msgOutputLevel) { | |||
| String msg = lSep + event.getTarget().getName() + ":"; | |||
| String msg = StringUtils.LINE_SEP + event.getTarget().getName() + ":"; | |||
| out.println(msg); | |||
| log(msg); | |||
| } | |||
| @@ -68,6 +68,7 @@ import org.w3c.dom.Document; | |||
| import org.w3c.dom.Element; | |||
| import org.w3c.dom.Text; | |||
| import org.apache.tools.ant.util.DOMElementWriter; | |||
| import org.apache.tools.ant.util.StringUtils; | |||
| /** | |||
| * Generates a "log.xml" file in the current directory with | |||
| @@ -133,13 +134,8 @@ public class XmlLogger implements BuildListener { | |||
| buildElement.element.setAttribute(ERROR_ATTR, event.getException().toString()); | |||
| // print the stacktrace in the build file it is always useful... | |||
| // better have too much info than not enough. | |||
| ByteArrayOutputStream baos = new ByteArrayOutputStream(); | |||
| PrintStream ps = new PrintStream(baos,true); | |||
| Throwable t = event.getException(); | |||
| t.printStackTrace(ps); | |||
| ps.flush(); | |||
| ps.close(); | |||
| Text errText = doc.createCDATASection(baos.toString()); | |||
| Text errText = doc.createCDATASection(StringUtils.getStackTrace(t)); | |||
| Element stacktrace = doc.createElement(STACKTRACE_TAG); | |||
| stacktrace.appendChild(errText); | |||
| buildElement.element.appendChild(stacktrace); | |||
| @@ -57,6 +57,8 @@ package org.apache.tools.ant.taskdefs; | |||
| import org.apache.tools.ant.BuildLogger; | |||
| import org.apache.tools.ant.Project; | |||
| import org.apache.tools.ant.BuildEvent; | |||
| import org.apache.tools.ant.util.StringUtils; | |||
| import java.io.PrintStream; | |||
| @@ -92,10 +94,6 @@ public class RecorderEntry implements BuildLogger { | |||
| * The start time of the last know target. | |||
| */ | |||
| private long targetStartTime = 0l; | |||
| /** | |||
| * Line separator. | |||
| */ | |||
| private static String lSep = System.getProperty("line.separator"); | |||
| ////////////////////////////////////////////////////////////////////// | |||
| // CONSTRUCTORS / INITIALIZERS | |||
| @@ -136,9 +134,9 @@ public class RecorderEntry implements BuildLogger { | |||
| Throwable error = event.getException(); | |||
| if (error == null) { | |||
| out.println(lSep + "BUILD SUCCESSFUL"); | |||
| out.println(StringUtils.LINE_SEP + "BUILD SUCCESSFUL"); | |||
| } else { | |||
| out.println(lSep + "BUILD FAILED" + lSep); | |||
| out.println(StringUtils.LINE_SEP + "BUILD FAILED" + StringUtils.LINE_SEP); | |||
| error.printStackTrace(out); | |||
| } | |||
| out.flush(); | |||
| @@ -147,7 +145,7 @@ public class RecorderEntry implements BuildLogger { | |||
| public void targetStarted(BuildEvent event) { | |||
| log( ">> TARGET STARTED -- " + event.getTarget(), Project.MSG_DEBUG ); | |||
| log( lSep + event.getTarget().getName() + ":", Project.MSG_INFO ); | |||
| log( StringUtils.LINE_SEP + event.getTarget().getName() + ":", Project.MSG_INFO ); | |||
| targetStartTime = System.currentTimeMillis(); | |||
| } | |||
| @@ -159,7 +157,7 @@ public class RecorderEntry implements BuildLogger { | |||
| } | |||
| public void taskStarted(BuildEvent event) { | |||
| log( ">>> TAST STARTED -- " + event.getTask(), Project.MSG_DEBUG ); | |||
| log( ">>> TASK STARTED -- " + event.getTask(), Project.MSG_DEBUG ); | |||
| } | |||
| public void taskFinished(BuildEvent event) { | |||
| @@ -93,6 +93,7 @@ import org.apache.tools.ant.BuildException; | |||
| import org.apache.tools.ant.BuildListener; | |||
| import org.apache.tools.ant.BuildEvent; | |||
| import org.apache.tools.ant.Project; | |||
| import org.apache.tools.ant.util.StringUtils; | |||
| /** | |||
| * This is a simple grafical user interface to provide the information needed | |||
| @@ -114,7 +115,7 @@ public class VAJAntToolGUI extends Frame { | |||
| * Members | |||
| */ | |||
| private VAJBuildLogger logger = new VAJBuildLogger(); | |||
| private String lineSeparator = "\r\n"; | |||
| private final static String lineSeparator = "\r\n"; | |||
| private PrivateEventHandler iEventHandler = new PrivateEventHandler(); | |||
| /** | |||
| @@ -1287,9 +1288,7 @@ public class VAJAntToolGUI extends Frame { | |||
| */ | |||
| private void handleException(Throwable exception) { | |||
| // Write exceptions to the log-window | |||
| StringWriter sw = new StringWriter(); | |||
| exception.printStackTrace(new PrintWriter(sw)); | |||
| String trace = new String( sw.getBuffer() ); | |||
| String trace = StringUtils.getStackTrace(exception); | |||
| getMessageTextArea().append(lineSeparator + lineSeparator + trace); | |||
| getMessageFrame().show(); | |||
| @@ -66,6 +66,7 @@ import javax.servlet.http.HttpServletResponse; | |||
| import javax.servlet.ServletException; | |||
| import org.apache.tools.ant.BuildException; | |||
| import org.apache.tools.ant.util.StringUtils; | |||
| /** | |||
| * Abstract base class to provide common services for the | |||
| @@ -145,9 +146,7 @@ public abstract class VAJToolsServlet extends HttpServlet { | |||
| } catch( Exception e ) { | |||
| try { | |||
| if ( ! (e instanceof BuildException) ) { | |||
| StringWriter sw = new StringWriter(); | |||
| e.printStackTrace(new PrintWriter(sw)); | |||
| String trace = new String( sw.getBuffer() ); | |||
| String trace = StringUtils.getStackTrace(e); | |||
| util.log("Program error in " + this.getClass().getName() | |||
| + ":\n" + trace, VAJUtil.MSG_ERR); | |||
| } | |||
| @@ -57,6 +57,7 @@ package org.apache.tools.ant.taskdefs.optional.junit; | |||
| import org.apache.tools.ant.AntClassLoader; | |||
| import org.apache.tools.ant.Project; | |||
| import org.apache.tools.ant.BuildException; | |||
| import org.apache.tools.ant.util.StringUtils; | |||
| import junit.framework.TestListener; | |||
| import junit.framework.TestResult; | |||
| @@ -477,11 +478,7 @@ public class JUnitTestRunner implements TestListener { | |||
| * Scott M. Stirling. | |||
| */ | |||
| public static String getFilteredTrace(Throwable t) { | |||
| StringWriter stringWriter = new StringWriter(); | |||
| PrintWriter writer = new PrintWriter(stringWriter); | |||
| t.printStackTrace(writer); | |||
| StringBuffer buffer = stringWriter.getBuffer(); | |||
| String trace = buffer.toString(); | |||
| String trace = StringUtils.getStackTrace(t); | |||
| return JUnitTestRunner.filterStack(trace); | |||
| } | |||
| @@ -76,6 +76,7 @@ import org.apache.tools.ant.DirectoryScanner; | |||
| import org.apache.tools.ant.BuildException; | |||
| import org.apache.tools.ant.types.FileSet; | |||
| import org.apache.tools.ant.util.DOMElementWriter; | |||
| import org.apache.tools.ant.util.StringUtils; | |||
| /** | |||
| @@ -269,9 +270,7 @@ public class XMLResultAggregator extends Task implements XMLConstants { | |||
| // a testcase might have failed and write a zero-length document, | |||
| // It has already failed, but hey.... mm. just put a warning | |||
| log("The file " + files[i] + " is not a valid XML document. It is possibly corrupted.", Project.MSG_WARN); | |||
| StringWriter sw = new StringWriter(); | |||
| e.printStackTrace(new PrintWriter(sw)); | |||
| log(sw.toString(), Project.MSG_DEBUG); | |||
| log(StringUtils.getStackTrace(e), Project.MSG_DEBUG); | |||
| } catch (IOException e){ | |||
| log("Error while accessing file " + files[i] + ": " + e.getMessage(), Project.MSG_ERR); | |||
| } | |||