From 2ee8187be43ac381589499aa7b838eb259a40ab0 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Thu, 25 Feb 2021 15:10:12 -0700 Subject: [PATCH] package: collapse gradle's massive stack traces --- .../runelite/pluginhub/packager/Plugin.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/package/package/src/main/java/net/runelite/pluginhub/packager/Plugin.java b/package/package/src/main/java/net/runelite/pluginhub/packager/Plugin.java index a53e56eb2..cd3b3a1ed 100644 --- a/package/package/src/main/java/net/runelite/pluginhub/packager/Plugin.java +++ b/package/package/src/main/java/net/runelite/pluginhub/packager/Plugin.java @@ -35,6 +35,7 @@ import com.google.common.io.CountingOutputStream; import com.google.common.io.MoreFiles; import com.google.common.io.RecursiveDeleteOption; import java.io.BufferedReader; +import java.io.CharArrayWriter; import java.io.Closeable; import java.io.File; import java.io.FileInputStream; @@ -44,6 +45,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; +import java.io.Writer; import java.net.MalformedURLException; import java.net.URL; import java.nio.charset.StandardCharsets; @@ -752,10 +754,28 @@ public class Plugin implements Closeable Throwable t = fmt.getThrowable(); if (t != null) { - PrintWriter pw = new PrintWriter(new OutputStreamWriter(log, StandardCharsets.UTF_8)); - pw.println(t.getMessage()); + CharArrayWriter caw = new CharArrayWriter(); + PrintWriter pw = new PrintWriter(caw); t.printStackTrace(pw); pw.flush(); + + Writer w = new OutputStreamWriter(log, StandardCharsets.UTF_8); + boolean collapsing = false; + for (String line : Splitter.on('\n').split(caw.toString())) + { + boolean collapse = line.startsWith("\tat org.gradle."); + if (collapse && !collapsing) + { + w.write("\t...\n"); + } + if (!collapse) + { + w.write(line); + w.write('\n'); + } + collapsing = collapse; + } + w.flush(); } log.flush(); }