Browse Source

better diagnostics from XmlLogger.java

PR: 28993
Obtained from: Jesse Glick


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@276464 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Reilly 21 years ago
parent
commit
6cc4c84df3
2 changed files with 20 additions and 5 deletions
  1. +14
    -5
      src/main/org/apache/tools/ant/XmlLogger.java
  2. +6
    -0
      src/main/org/apache/tools/ant/util/DOMElementWriter.java

+ 14
- 5
src/main/org/apache/tools/ant/XmlLogger.java View File

@@ -116,6 +116,9 @@ public class XmlLogger implements BuildLogger {
private long startTime;
/** Element created at the start time. */
private Element element;
public String toString() {
return element.getTagName() + ":" + element.getAttribute("name");
}
}

/**
@@ -178,7 +181,7 @@ public class XmlLogger implements BuildLogger {
stream = new FileOutputStream(outFilename);
}
out = new OutputStreamWriter(stream, "UTF8");
out.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
if (xslUri.length() > 0) {
out.write("<?xml-stylesheet type=\"text/xsl\" href=\""
+ xslUri + "\"?>\n\n");
@@ -209,6 +212,10 @@ public class XmlLogger implements BuildLogger {
threadStack = new Stack();
threadStacks.put(Thread.currentThread(), threadStack);
}
/* For debugging purposes uncomment:
org.w3c.dom.Comment s = doc.createComment("stack=" + threadStack);
buildElement.element.appendChild(s);
*/
return threadStack;
}

@@ -252,9 +259,9 @@ public class XmlLogger implements BuildLogger {
TimedElement poppedStack = (TimedElement) threadStack.pop();
if (poppedStack != targetElement) {
throw new RuntimeException("Mismatch - popped element = "
+ poppedStack.element
+ poppedStack
+ " finished target element = "
+ targetElement.element);
+ targetElement);
}
if (!threadStack.empty()) {
parentElement = (TimedElement) threadStack.peek();
@@ -320,11 +327,13 @@ public class XmlLogger implements BuildLogger {
TimedElement poppedStack = (TimedElement) threadStack.pop();
if (poppedStack != taskElement) {
throw new RuntimeException("Mismatch - popped element = "
+ poppedStack.element + " finished task element = "
+ taskElement.element);
+ poppedStack + " finished task element = "
+ taskElement);
}
}
tasks.remove(task);
} else {
throw new RuntimeException("Unknown task " + task + " not in " + tasks);
}
}



+ 6
- 0
src/main/org/apache/tools/ant/util/DOMElementWriter.java View File

@@ -117,6 +117,12 @@ public class DOMElementWriter {
out.write(encode(child.getNodeValue()));
break;

case Node.COMMENT_NODE:
out.write("<!--");
out.write(encode(child.getNodeValue()));
out.write("-->");
break;

case Node.CDATA_SECTION_NODE:
out.write("<![CDATA[");
out.write(encodedata(((Text) child).getData()));


Loading…
Cancel
Save