Repository: groovy Updated Branches: refs/heads/master 9c7504c0b -> 2019d3cd3
Refine options for groovydoc Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/2019d3cd Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/2019d3cd Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/2019d3cd Branch: refs/heads/master Commit: 2019d3cd37999cadfb0ba06f4f08371d2e62ab58 Parents: 9c7504c Author: sunlan <[email protected]> Authored: Sat Jun 10 08:27:46 2017 +0800 Committer: sunlan <[email protected]> Committed: Sat Jun 10 08:28:09 2017 +0800 ---------------------------------------------------------------------- .../groovy/parser/antlr4/GroovydocManager.java | 27 ++++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/2019d3cd/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/GroovydocManager.java ---------------------------------------------------------------------- diff --git a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/GroovydocManager.java b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/GroovydocManager.java index 449b2e7..2fdef75 100644 --- a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/GroovydocManager.java +++ b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/GroovydocManager.java @@ -42,22 +42,33 @@ import static org.codehaus.groovy.runtime.DefaultGroovyMethods.asBoolean; public class GroovydocManager { public static final String DOC_COMMENT = "_DOC_COMMENT"; // keys for meta data private static final String DOC_COMMENT_PREFIX = "/**"; - private static final String EXTRACT_DOC_COMMENT = "groovy.extract.doc.comment"; private static final String TRUE_STR = "true"; - private static final boolean EXTRACTING_DOC_COMMENT_ENABLED; + + @Deprecated + private static final String EXTRACT_DOC_COMMENT = "groovy.extract.doc.comment"; // it will be removed in future releases and replaced with ATTACH_GROOVYDOC + private static final String ATTACH_GROOVYDOC = "groovy.attach.groovydoc"; + private static final boolean ATTACHING_GROOVYDOC_ENABLED; + private static final String ATTACH_RUNTIME_GROOVYDOC = "groovy.attach.runtime.groovydoc"; + private static final boolean ATTACHING_RUNTIME_GROOVYDOC_ENABLED; private static final String VALUE = "value"; private static final String RUNTIME_GROOVYDOC_PATTERN = "(?s)/[*][*]\\s+(\\s+[*]\\s*)*@Groovydoc\\b.+?[*]/"; private AstBuilder astBuilder; static { - boolean edce; + ATTACHING_GROOVYDOC_ENABLED = isFeatureEnabled(ATTACH_GROOVYDOC) || isFeatureEnabled(EXTRACT_DOC_COMMENT); + ATTACHING_RUNTIME_GROOVYDOC_ENABLED = isFeatureEnabled(ATTACH_RUNTIME_GROOVYDOC); + } + + private static boolean isFeatureEnabled(String featureOpt) { + boolean result; + try { - edce = TRUE_STR.equals(System.getProperty(EXTRACT_DOC_COMMENT)); + result = TRUE_STR.equals(System.getProperty(featureOpt)); } catch (Exception e) { - edce = false; + result = false; } - EXTRACTING_DOC_COMMENT_ENABLED = edce; + return result; } public GroovydocManager(AstBuilder astBuilder) { @@ -86,7 +97,7 @@ public class GroovydocManager { * Attach doc comment to member node as meta data */ private void attachDocCommentAsMetaData(ASTNode node, String docCommentNodeText) { - if (!EXTRACTING_DOC_COMMENT_ENABLED) { + if (!ATTACHING_GROOVYDOC_ENABLED) { return; } @@ -101,7 +112,7 @@ public class GroovydocManager { return; } - if (!docCommentNodeText.matches(RUNTIME_GROOVYDOC_PATTERN)) { + if (!(ATTACHING_RUNTIME_GROOVYDOC_ENABLED || docCommentNodeText.matches(RUNTIME_GROOVYDOC_PATTERN))) { return; }
