From b1ba962ddf9404484ff2e579207a0109e52ece35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= Date: Thu, 5 Dec 2019 15:26:03 +0100 Subject: [PATCH] Deprecate RuleViolation impls --- .../sourceforge/pmd/lang/apex/rule/ApexRuleViolation.java | 6 ++++++ .../src/main/java/net/sourceforge/pmd/RuleViolation.java | 6 +++++- .../sourceforge/pmd/lang/java/rule/JavaRuleViolation.java | 3 +++ .../pmd/lang/java/rule/errorprone/DaaRuleViolation.java | 3 +++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/ApexRuleViolation.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/ApexRuleViolation.java index b5019a908e..113328bcd9 100644 --- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/ApexRuleViolation.java +++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/ApexRuleViolation.java @@ -6,6 +6,8 @@ package net.sourceforge.pmd.lang.apex.rule; import net.sourceforge.pmd.Rule; import net.sourceforge.pmd.RuleContext; +import net.sourceforge.pmd.RuleViolation; +import net.sourceforge.pmd.annotation.InternalApi; import net.sourceforge.pmd.lang.apex.ast.CanSuppressWarnings; import net.sourceforge.pmd.lang.ast.Node; import net.sourceforge.pmd.lang.rule.ParametricRuleViolation; @@ -21,8 +23,12 @@ import net.sourceforge.pmd.lang.rule.ParametricRuleViolation; *
  • Suppression indicator
  • * * @param + * + * @deprecated See {@link RuleViolation} */ @SuppressWarnings("PMD.UseUtilityClass") // we inherit non-static methods... +@Deprecated +@InternalApi public class ApexRuleViolation extends ParametricRuleViolation { public ApexRuleViolation(Rule rule, RuleContext ctx, Node node, String message, int beginLine, int endLine) { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/RuleViolation.java b/pmd-core/src/main/java/net/sourceforge/pmd/RuleViolation.java index 7267ab4e1e..5873d6e4db 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleViolation.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleViolation.java @@ -6,7 +6,11 @@ package net.sourceforge.pmd; /** * A RuleViolation is created by a Rule when it identifies a violation of the - * Rule constraints. + * Rule constraints. RuleViolations are simple data holders that are collected + * into a {@link Report}. + * + *

    Since PMD 6.21.0, implementations of this interface are considered internal + * API and hence deprecated. Clients should exclusively use this interface. * * @see Rule */ diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/JavaRuleViolation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/JavaRuleViolation.java index d544783cd4..09ae9715cc 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/JavaRuleViolation.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/JavaRuleViolation.java @@ -9,6 +9,7 @@ import java.util.Set; import net.sourceforge.pmd.Rule; import net.sourceforge.pmd.RuleContext; +import net.sourceforge.pmd.RuleViolation; import net.sourceforge.pmd.lang.ast.Node; import net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit; import net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration; @@ -37,7 +38,9 @@ import net.sourceforge.pmd.lang.symboltable.Scope; *

  • Variable name
  • *
  • Suppression indicator
  • * + * @deprecated See {@link RuleViolation} */ +@Deprecated public class JavaRuleViolation extends ParametricRuleViolation { public JavaRuleViolation(Rule rule, RuleContext ctx, JavaNode node, String message, int beginLine, int endLine) { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/DaaRuleViolation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/DaaRuleViolation.java index 40dfc8b977..1ccb8b7dfd 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/DaaRuleViolation.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/DaaRuleViolation.java @@ -6,6 +6,7 @@ package net.sourceforge.pmd.lang.java.rule.errorprone; import net.sourceforge.pmd.Rule; import net.sourceforge.pmd.RuleContext; +import net.sourceforge.pmd.RuleViolation; import net.sourceforge.pmd.lang.ast.Node; import net.sourceforge.pmd.lang.java.ast.JavaNode; import net.sourceforge.pmd.lang.java.rule.JavaRuleViolation; @@ -16,7 +17,9 @@ import net.sourceforge.pmd.lang.java.rule.JavaRuleViolation; * * @author Sven Jacob * @author Brian Remedios + * @deprecated See {@link RuleViolation} */ +@Deprecated public class DaaRuleViolation extends JavaRuleViolation { private final String variableName;