Fixed bug 413143: [backport] Builder debug info: build/needbuildstack logs instead of writing to console
diff --git a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java
index f0706ec..1a12af6 100644
--- a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java
+++ b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java
@@ -14,6 +14,8 @@
*******************************************************************************/
package org.eclipse.core.internal.events;
+import java.io.PrintWriter;
+import java.io.StringWriter;
import java.util.*;
import org.eclipse.core.internal.dtree.DeltaDataTree;
import org.eclipse.core.internal.resources.*;
@@ -825,8 +827,13 @@
private void hookStartBuild(IBuildConfiguration[] configs, int trigger) {
building = true;
if (Policy.DEBUG_BUILD_STACK) {
- IStatus info = new Status(IStatus.INFO, ResourcesPlugin.PI_RESOURCES, 1, "Starting build: " + debugTrigger(trigger), new RuntimeException().fillInStackTrace()); //$NON-NLS-1$
- Policy.log(info);
+ StringWriter writer = new StringWriter();
+ writer.write("Starting build: " + debugTrigger(trigger) + " from:\n"); //$NON-NLS-1$ //$NON-NLS-2$
+ new RuntimeException().fillInStackTrace().printStackTrace(new PrintWriter(writer));
+ String str = writer.toString();
+ if (str.endsWith("\n")) //$NON-NLS-1$
+ str = str.substring(0, str.length() - 2);
+ Policy.debug(str);
}
if (Policy.DEBUG_BUILD_INVOKING) {
overallTimeStamp = System.currentTimeMillis();