[doc] Add deprecation label for deprecated rules

This commit is contained in:
Andreas Dangel
2017-08-11 20:28:06 +02:00
parent ba32ed572b
commit 171ebad444
4 changed files with 44 additions and 1 deletions

View File

@ -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 = "<span style=\"border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;\">Deprecated</span> ";
private static final String DEPRECATION_LABEL = "<span style=\"border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f;\">Deprecated</span> ";
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("");

View File

@ -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): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> 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...

View File

@ -6,6 +6,16 @@ folder: pmd/rules/java
sidebaractiveurl: /pmd_rules_java.html
editmepath: ../rulesets/ruledoctest/sample.xml
---
## DeprecatedSample
<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f;">Deprecated</span>
**Since:** 1.0
**Priority:** Medium (3)
Just some description of a deprecated rule.
## JumbledIncrementer
**Since:** 1.0

View File

@ -82,4 +82,27 @@ public class JumbledIncrementerRule1 {
]]>
</example>
</rule>
<rule name="DeprecatedSample"
language="java"
since="1.0"
message="Sample rule, which is deprecated"
class="net.sourceforge.pmd.lang.rule.XPathRule"
externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_sample.html#deprecatedsample"
deprecated="true">
<description>
Just some description of a deprecated rule.
</description>
<priority>3</priority>
<properties>
<property name="xpath">
<value>
<![CDATA[
//ForStatement
]]>
</value>
</property>
</properties>
</rule>
</ruleset>