You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by cc...@apache.org on 2018/05/23 19:28:28 UTC
[2/9] groovy git commit: Use a reasonable size buffer for generated
docs
Use a reasonable size buffer for generated docs
The default buffer is a 16(!) characters string. Most of the groovydoc
files we generate are over 10k, so this commit adds a reasonable size
buffer for templates, which avoids a lot of buffer resizes.
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/71cb7578
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/71cb7578
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/71cb7578
Branch: refs/heads/GROOVY_2_5_X
Commit: 71cb7578f3a0ff2784c0234dc98e66bf6ed595be
Parents: 391f15b
Author: Cedric Champeau <cc...@apache.org>
Authored: Wed May 23 08:35:41 2018 +0200
Committer: Cedric Champeau <cc...@apache.org>
Committed: Wed May 23 21:23:16 2018 +0200
----------------------------------------------------------------------
.../groovy/tools/groovydoc/GroovyDocTemplateEngine.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/71cb7578/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyDocTemplateEngine.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyDocTemplateEngine.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyDocTemplateEngine.java
index ce63ed5..052f29c 100644
--- a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyDocTemplateEngine.java
+++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyDocTemplateEngine.java
@@ -31,6 +31,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.io.StringWriter;
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -85,7 +86,7 @@ public class GroovyDocTemplateEngine {
Map<String, Object> binding = new LinkedHashMap<String, Object>();
binding.put("classDoc", classDoc);
binding.put("props", properties);
- templateWithBindingApplied = t.make(binding).toString();
+ templateWithBindingApplied = t.make(binding).writeTo(reasonableSizeWriter()).toString();
} catch (Exception e) {
System.out.println("Error processing class template for: " + classDoc.getFullPathName());
e.printStackTrace();
@@ -93,6 +94,10 @@ public class GroovyDocTemplateEngine {
return templateWithBindingApplied;
}
+ private static StringWriter reasonableSizeWriter() {
+ return new StringWriter(65536);
+ }
+
String applyPackageTemplate(String template, GroovyPackageDoc packageDoc) {
String templateWithBindingApplied = "";
try {