Rule messages can no longer be declared in Java

This caused problems with the RuleSetWriter. Schade.
This commit is contained in:
Clément Fournier
2018-06-10 04:05:21 +02:00
parent 059b0f15c0
commit b08da58069
4 changed files with 2 additions and 10 deletions
pmd-core/src/main/java/net/sourceforge/pmd/rules
pmd-java/src/main
java/net/sourceforge/pmd/lang/java/rule/codestyle
resources/category/java

@ -186,11 +186,6 @@ public class RuleBuilder {
rule.setLanguage(language);
}
// The message can be set in Java, but the XML takes precedence
if (!StringUtils.isBlank(message)) {
rule.setMessage(message);
}
loadLanguageMinMaxVersions(rule);
rule.setSince(since);
rule.setExternalInfoUrl(externalInfoUrl);

@ -146,10 +146,6 @@ public class RuleFactory {
builder.since(ruleElement.getAttribute(SINCE));
}
if (ruleElement.hasAttribute(MESSAGE)) {
builder.message(ruleElement.getAttribute(MESSAGE));
}
builder.externalInfoUrl(ruleElement.getAttribute(EXTERNAL_INFO_URL));
builder.setDeprecated(hasAttributeSetTrue(ruleElement, DEPRECATED));
builder.usesDFA(hasAttributeSetTrue(ruleElement, "dfa"));

@ -28,7 +28,6 @@ abstract class AbstractNamingConventionRule<T extends JavaNode> extends Abstract
AbstractNamingConventionRule() {
setMessage("The {0} name ''{1}'' doesn''t match ''{2}''");
}
/** The argument is interpreted as the display name, and is converted to camel case to get the property name. */

@ -371,6 +371,7 @@ public class Foo extends Bar{
<rule name="ClassNamingConventions"
since="1.2"
message="The {0} name ''{1}'' doesn''t match ''{2}''"
class="net.sourceforge.pmd.lang.java.rule.codestyle.ClassNamingConventionsRule"
externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#classnamingconventions">
<description>
@ -1082,6 +1083,7 @@ public void foo2 (final String param) { // better, do stuff with param never ass
<rule name="MethodNamingConventions"
since="1.2"
message="The {0} name ''{1}'' doesn''t match ''{2}''"
class="net.sourceforge.pmd.lang.java.rule.codestyle.MethodNamingConventionsRule"
externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#methodnamingconventions">
<description>