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 {