Skip to content

Commit 4d9ffdd

Browse files
committed
Further improve rendering error reporting
1 parent 521932e commit 4d9ffdd

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

maven-plugins/sitegen-maven-plugin/src/main/java/io/helidon/build/maven/sitegen/RenderingException.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,11 @@
1616

1717
package io.helidon.build.maven.sitegen;
1818

19-
import java.io.PrintWriter;
20-
import java.io.StringWriter;
2119
import java.util.ArrayDeque;
2220
import java.util.Arrays;
2321
import java.util.Deque;
2422
import java.util.List;
23+
import java.util.StringJoiner;
2524
import java.util.stream.Collectors;
2625

2726
import freemarker.template.TemplateException;
@@ -50,12 +49,20 @@ public RenderingException(List<RenderingException> errors) {
5049
}
5150

5251
private static String allErrorInfo(List<RenderingException> errors) {
53-
StringWriter sw = new StringWriter();
54-
try (PrintWriter pw = new PrintWriter(sw)) {
55-
errors.forEach(t -> t.printStackTrace(pw));
56-
return sw.toString();
52+
return errors.stream()
53+
.map(RenderingException::cascadeMessages)
54+
.collect(Collectors.joining());
55+
}
56+
57+
private static String cascadeMessages(Throwable error){
58+
StringJoiner result = new StringJoiner(System.lineSeparator());
59+
while (error != null) {
60+
result.add(error.getMessage());
61+
error = error.getCause();
5762
}
63+
return result.toString();
5864
}
65+
5966
/**
6067
* Create a new instance.
6168
*

0 commit comments

Comments
 (0)