From 171ebad44488e510b706127ba58d7aeb91228ff9 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 11 Aug 2017 20:28:06 +0200 Subject: [PATCH] [doc] Add deprecation label for deprecated rules --- .../pmd/docs/RuleDocGenerator.java | 11 ++++++++- pmd-doc/src/test/resources/expected/java.md | 1 + pmd-doc/src/test/resources/expected/sample.md | 10 ++++++++ .../resources/rulesets/ruledoctest/sample.xml | 23 +++++++++++++++++++ 4 files changed, 44 insertions(+), 1 deletion(-) diff --git a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java index ade2c239a1..3a098183b2 100644 --- a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java +++ b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java @@ -38,6 +38,9 @@ public class RuleDocGenerator { private static final String RULESET_INDEX_FILENAME_PATTERN = "docs/pages/pmd/rules/${language.tersename}/${ruleset.name}.md"; private static final String RULESET_INDEX_PERMALINK_PATTERN = "pmd_rules_${language.tersename}_${ruleset.name}.html"; + private static final String DEPRECATION_LABEL_SMALL = "Deprecated "; + private static final String DEPRECATION_LABEL = "Deprecated "; + private final Path root; private final FileWriter writer; @@ -145,7 +148,9 @@ public class RuleDocGenerator { .replace("${language.tersename}", languageTersename) .replace("${ruleset.name}", getRuleSetFilename(ruleset)); link += "#" + rule.getName().toLowerCase(Locale.ROOT); - lines.add("* [" + rule.getName() + "](" + link + "): " + getShortRuleDescription(rule)); + lines.add("* [" + rule.getName() + "](" + link + "): " + + (rule.isDeprecated() ? DEPRECATION_LABEL_SMALL : "") + + getShortRuleDescription(rule)); } lines.add(""); } @@ -219,6 +224,10 @@ public class RuleDocGenerator { for (Rule rule : getSortedRules(ruleset)) { lines.add("## " + rule.getName()); lines.add(""); + if (rule.isDeprecated()) { + lines.add(DEPRECATION_LABEL); + lines.add(""); + } if (rule.getSince() != null) { lines.add("**Since:** " + rule.getSince()); lines.add(""); diff --git a/pmd-doc/src/test/resources/expected/java.md b/pmd-doc/src/test/resources/expected/java.md index 97278fac94..0b00b90818 100644 --- a/pmd-doc/src/test/resources/expected/java.md +++ b/pmd-doc/src/test/resources/expected/java.md @@ -8,5 +8,6 @@ List of rulesets and rules contained in each ruleset. * [Sample](pmd_rules_java_sample.html): Sample ruleset to test rule doc generation. ## Sample +* [DeprecatedSample](pmd_rules_java_sample.html#deprecatedsample): Deprecated Just some description of a deprecated rule. * [JumbledIncrementer](pmd_rules_java_sample.html#jumbledincrementer): Avoid jumbled loop incrementers - its usually a mistake, and is confusing even if intentional. * [OverrideBothEqualsAndHashcode](pmd_rules_java_sample.html#overridebothequalsandhashcode): Override both public boolean Object.equals(Object other), and public int Object.hashCode(), or ov... diff --git a/pmd-doc/src/test/resources/expected/sample.md b/pmd-doc/src/test/resources/expected/sample.md index 356d5197da..34928add8c 100644 --- a/pmd-doc/src/test/resources/expected/sample.md +++ b/pmd-doc/src/test/resources/expected/sample.md @@ -6,6 +6,16 @@ folder: pmd/rules/java sidebaractiveurl: /pmd_rules_java.html editmepath: ../rulesets/ruledoctest/sample.xml --- +## DeprecatedSample + +Deprecated + +**Since:** 1.0 + +**Priority:** Medium (3) + +Just some description of a deprecated rule. + ## JumbledIncrementer **Since:** 1.0 diff --git a/pmd-doc/src/test/resources/rulesets/ruledoctest/sample.xml b/pmd-doc/src/test/resources/rulesets/ruledoctest/sample.xml index e5d35152e1..bf731140f4 100644 --- a/pmd-doc/src/test/resources/rulesets/ruledoctest/sample.xml +++ b/pmd-doc/src/test/resources/rulesets/ruledoctest/sample.xml @@ -82,4 +82,27 @@ public class JumbledIncrementerRule1 { ]]> + + + +Just some description of a deprecated rule. + + 3 + + + + + + + + +