[core] Move Rule into package net.sourceforge.pmd.rule

This commit is contained in:
Andreas Dangel committed 2024-01-12 11:04:02 +01:00
1 parent b06d00fb40
commit 6d955d6b9a
81 files changed
+106 -61

No files matched your search

+4 -4
View File
@@ -73,19 +73,19 @@ require_relative 'jdoc_namespace_tag'
# * a (args) -> adds the simple name of the argument types for method references, noop for other references
# * {% jdoc !a!core::Rule#setName(java.lang.String) %} -> [`setName(String)`](...)
# * q (qualify) -> prefix with the fqcn of the class, noop for package references
# * {% jdoc !q!core::Rule %} -> [`net.sourceforge.pmd.Rule`](...)
# * {% jdoc !q!core::Rule#setName(java.lang.String) %} -> [`net.sourceforge.pmd.Rule#setName`](...)
# * {% jdoc !q!core::rule.Rule %} -> [`net.sourceforge.pmd.rule.Rule`](...)
# * {% jdoc !q!core::rule.Rule#setName(java.lang.String) %} -> [`net.sourceforge.pmd.rule.Rule#setName`](...)
# * c (class) -> prefix the class name for member references, noop for type and package references, or if "qualify" is specified
# * {% jdoc !c!core::Rule#setName(java.lang.String) %} -> [`Rule#setName`](...)
# * Empty options ("!!") - > shorthand to a commonly relevant option
# * For field or method references, "!!" is the "c" option
# * {% jdoc !!core::Rule#setName(java.lang.String) %} -> [`Rule#setName`](...)
# * For type references, "!!" is the "q" option
# * {% jdoc !!core::Rule %} -> [`net.sourceforge.pmd.Rule`](...)
# * {% jdoc !!core::rule.Rule %} -> [`net.sourceforge.pmd.rule.Rule`](...)
# * For package references, "!!" is a noop, they're always fully qualified
# * Several options may be used at once, though this is only useful for method references:
# * {% jdoc !ac!core::Rule#setName(java.lang.String) %} -> [`Rule#setName(String)`](...)
# * {% jdoc !aq!core::Rule#setName(java.lang.String) %} -> [`net.sourceforge.pmd.Rule#setName(String)`](...)
# * {% jdoc !aq!core::rule.Rule#setName(java.lang.String) %} -> [`net.sourceforge.pmd.rule.Rule#setName(String)`](...)
#
# * DO NOT:
# - Include spaces in any part of the reference
+4
View File
@@ -151,6 +151,10 @@ in the Migration Guide.
#### API Changes
**Moved classes**
* pmd-core
* The interface {%jdoc core::rule.Rule %} has been moved into the new package {% jdoc_package core::rule %}.
**Removed classes and methods**
The following previously deprecated classes have been removed:
@@ -15,7 +15,6 @@ import org.checkerframework.checker.nullness.qual.NonNull;
import net.sourceforge.pmd.Report;
import net.sourceforge.pmd.Report.SuppressedViolation;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RuleViolation;
import net.sourceforge.pmd.ViolationSuppressor;
import net.sourceforge.pmd.lang.apex.ast.ASTAnnotation;
@@ -30,6 +29,7 @@ import net.sourceforge.pmd.lang.apex.ast.ASTUserEnum;
import net.sourceforge.pmd.lang.apex.ast.ASTVariableDeclarationStatements;
import net.sourceforge.pmd.lang.apex.ast.ApexNode;
import net.sourceforge.pmd.lang.ast.Node;
import net.sourceforge.pmd.rule.Rule;
final class ApexViolationSuppressors {
@@ -16,7 +16,6 @@ import org.junit.jupiter.api.io.TempDir;
import net.sourceforge.pmd.PMDConfiguration;
import net.sourceforge.pmd.PmdAnalysis;
import net.sourceforge.pmd.Report;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RuleSet;
import net.sourceforge.pmd.RuleSetLoader;
import net.sourceforge.pmd.RuleViolation;
@@ -25,6 +24,7 @@ import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.apex.ApexLanguageModule;
import net.sourceforge.pmd.lang.apex.ApexLanguageProperties;
import net.sourceforge.pmd.reporting.GlobalAnalysisListener;
import net.sourceforge.pmd.rule.Rule;
import com.nawforce.pkgforce.path.PathFactory;
import com.nawforce.pkgforce.path.PathLike;
@@ -0,0 +1,8 @@
/*
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
public interface Rule extends net.sourceforge.pmd.rule.Rule {
}
@@ -49,6 +49,7 @@ import net.sourceforge.pmd.reporting.GlobalAnalysisListener;
import net.sourceforge.pmd.reporting.ListenerInitializer;
import net.sourceforge.pmd.reporting.ReportStats;
import net.sourceforge.pmd.reporting.ReportStatsListener;
import net.sourceforge.pmd.rule.Rule;
import net.sourceforge.pmd.util.AssertionUtil;
import net.sourceforge.pmd.util.StringUtil;
import net.sourceforge.pmd.util.log.MessageReporter;
@@ -23,6 +23,7 @@ import net.sourceforge.pmd.lang.document.TextFile;
import net.sourceforge.pmd.renderers.AbstractAccumulatingRenderer;
import net.sourceforge.pmd.reporting.FileAnalysisListener;
import net.sourceforge.pmd.reporting.GlobalAnalysisListener;
import net.sourceforge.pmd.rule.Rule;
import net.sourceforge.pmd.util.BaseResultProducingCloseable;
/**
@@ -26,6 +26,7 @@ import net.sourceforge.pmd.lang.rule.ParametricRuleViolation;
import net.sourceforge.pmd.properties.PropertyDescriptor;
import net.sourceforge.pmd.reporting.FileAnalysisListener;
import net.sourceforge.pmd.reporting.ViolationDecorator;
import net.sourceforge.pmd.rule.Rule;
/**
* The API for rules to report violations or errors during analysis.
@@ -28,6 +28,7 @@ import net.sourceforge.pmd.lang.document.FileId;
import net.sourceforge.pmd.lang.document.TextFile;
import net.sourceforge.pmd.lang.rule.RuleReference;
import net.sourceforge.pmd.lang.rule.XPathRule;
import net.sourceforge.pmd.rule.Rule;
/**
* This class represents a collection of rules along with some optional filter
@@ -48,6 +48,7 @@ import org.xml.sax.InputSource;
import net.sourceforge.pmd.RuleSet.RuleSetBuilder;
import net.sourceforge.pmd.lang.LanguageRegistry;
import net.sourceforge.pmd.lang.rule.RuleReference;
import net.sourceforge.pmd.rule.Rule;
import net.sourceforge.pmd.rules.RuleFactory;
import net.sourceforge.pmd.util.ResourceLoader;
import net.sourceforge.pmd.util.StringUtil;
@@ -24,6 +24,7 @@ import org.slf4j.LoggerFactory;
import net.sourceforge.pmd.annotation.InternalApi;
import net.sourceforge.pmd.lang.Language;
import net.sourceforge.pmd.lang.LanguageRegistry;
import net.sourceforge.pmd.rule.Rule;
import net.sourceforge.pmd.util.CollectionUtil;
import net.sourceforge.pmd.util.ResourceLoader;
import net.sourceforge.pmd.util.log.MessageReporter;
@@ -40,6 +40,7 @@ import net.sourceforge.pmd.properties.PropertyDescriptor;
import net.sourceforge.pmd.properties.PropertySerializer;
import net.sourceforge.pmd.properties.PropertySource;
import net.sourceforge.pmd.properties.PropertyTypeId;
import net.sourceforge.pmd.rule.Rule;
import net.sourceforge.pmd.util.internal.xml.SchemaConstants;
/**
@@ -21,6 +21,7 @@ import net.sourceforge.pmd.lang.ast.RootNode;
import net.sourceforge.pmd.lang.document.TextFile;
import net.sourceforge.pmd.lang.rule.internal.RuleApplicator;
import net.sourceforge.pmd.reporting.FileAnalysisListener;
import net.sourceforge.pmd.rule.Rule;
import net.sourceforge.pmd.util.log.MessageReporter;
/**
@@ -10,6 +10,7 @@ import java.util.Map;
import net.sourceforge.pmd.annotation.DeprecatedUntil700;
import net.sourceforge.pmd.lang.document.FileId;
import net.sourceforge.pmd.lang.document.FileLocation;
import net.sourceforge.pmd.rule.Rule;
/**
* A RuleViolation is created by a Rule when it identifies a violation of the
@@ -18,6 +18,7 @@ import net.sourceforge.pmd.lang.ast.Node;
import net.sourceforge.pmd.lang.rule.xpath.XPathVersion;
import net.sourceforge.pmd.lang.rule.xpath.internal.DeprecatedAttrLogger;
import net.sourceforge.pmd.lang.rule.xpath.internal.SaxonXPathRuleQuery;
import net.sourceforge.pmd.rule.Rule;
/**
* An object that suppresses rule violations. Suppressors are used by
@@ -7,9 +7,9 @@ package net.sourceforge.pmd.cache;
import java.util.HashMap;
import java.util.Map;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RuleSets;
import net.sourceforge.pmd.annotation.InternalApi;
import net.sourceforge.pmd.rule.Rule;
/**
* A mapper from rule class names to rule instances for cached rules.
@@ -14,12 +14,12 @@ import java.util.Map.Entry;
import org.checkerframework.checker.nullness.qual.NonNull;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RuleViolation;
import net.sourceforge.pmd.annotation.InternalApi;
import net.sourceforge.pmd.lang.document.FileId;
import net.sourceforge.pmd.lang.document.FileLocation;
import net.sourceforge.pmd.lang.document.TextRange2d;
import net.sourceforge.pmd.rule.Rule;
import net.sourceforge.pmd.util.StringUtil;
/**
@@ -7,7 +7,7 @@ package net.sourceforge.pmd.lang;
import java.util.List;
import java.util.Objects;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.rule.Rule;
/**
* Represents a version of a {@link Language}. Language instances provide
@@ -7,7 +7,6 @@ package net.sourceforge.pmd.lang.rule;
import java.util.List;
import java.util.Map;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RuleContext;
import net.sourceforge.pmd.RulePriority;
import net.sourceforge.pmd.lang.Language;
@@ -16,6 +15,7 @@ import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.ast.Node;
import net.sourceforge.pmd.properties.PropertyDescriptor;
import net.sourceforge.pmd.properties.PropertySource;
import net.sourceforge.pmd.rule.Rule;
/**
* Base class for Rule implementations which delegate to another Rule instance.
@@ -15,7 +15,6 @@ import java.util.Set;
import org.checkerframework.checker.nullness.qual.NonNull;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RuleContext;
import net.sourceforge.pmd.RulePriority;
import net.sourceforge.pmd.lang.Language;
@@ -24,6 +23,7 @@ import net.sourceforge.pmd.lang.ast.Node;
import net.sourceforge.pmd.lang.ast.RootNode;
import net.sourceforge.pmd.properties.AbstractPropertySource;
import net.sourceforge.pmd.properties.PropertyDescriptor;
import net.sourceforge.pmd.rule.Rule;
/**
* Basic abstract implementation of all parser-independent methods of the Rule
@@ -7,11 +7,11 @@ package net.sourceforge.pmd.lang.rule;
import java.util.Collections;
import java.util.Map;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RuleViolation;
import net.sourceforge.pmd.annotation.InternalApi;
import net.sourceforge.pmd.lang.document.FileLocation;
import net.sourceforge.pmd.reporting.Reportable;
import net.sourceforge.pmd.rule.Rule;
import net.sourceforge.pmd.util.AssertionUtil;
/**
@@ -12,11 +12,11 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RulePriority;
import net.sourceforge.pmd.RuleSetReference;
import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.properties.PropertyDescriptor;
import net.sourceforge.pmd.rule.Rule;
import net.sourceforge.pmd.util.StringUtil;
/**
@@ -12,12 +12,12 @@ import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.annotation.InternalApi;
import net.sourceforge.pmd.lang.ast.Node;
import net.sourceforge.pmd.lang.ast.RootNode;
import net.sourceforge.pmd.lang.rule.internal.TargetSelectorInternal;
import net.sourceforge.pmd.lang.rule.internal.TreeIndex;
import net.sourceforge.pmd.rule.Rule;
import net.sourceforge.pmd.util.CollectionUtil;
/**
@@ -16,7 +16,6 @@ import org.checkerframework.checker.nullness.qual.NonNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RuleContext;
import net.sourceforge.pmd.annotation.DeprecatedUntil700;
import net.sourceforge.pmd.lang.LanguageProcessor;
@@ -27,6 +26,7 @@ import net.sourceforge.pmd.lang.rule.xpath.internal.DeprecatedAttrLogger;
import net.sourceforge.pmd.lang.rule.xpath.internal.SaxonXPathRuleQuery;
import net.sourceforge.pmd.properties.PropertyDescriptor;
import net.sourceforge.pmd.properties.PropertyFactory;
import net.sourceforge.pmd.rule.Rule;
/**
@@ -12,7 +12,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.sourceforge.pmd.Report.ProcessingError;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RuleContext;
import net.sourceforge.pmd.RuleSet;
import net.sourceforge.pmd.benchmark.TimeTracker;
@@ -23,6 +22,7 @@ import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.ast.Node;
import net.sourceforge.pmd.lang.ast.RootNode;
import net.sourceforge.pmd.reporting.FileAnalysisListener;
import net.sourceforge.pmd.rule.Rule;
import net.sourceforge.pmd.util.AssertionUtil;
import net.sourceforge.pmd.util.StringUtil;
@@ -10,9 +10,9 @@ import java.util.concurrent.ConcurrentMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.lang.rule.XPathRule;
import net.sourceforge.pmd.lang.rule.xpath.Attribute;
import net.sourceforge.pmd.rule.Rule;
/**
* Records usages of deprecated attributes in XPath rules. This needs
@@ -7,6 +7,8 @@ package net.sourceforge.pmd.properties;
import java.util.List;
import java.util.Map;
import net.sourceforge.pmd.rule.Rule;
/**
* Entity that manages a list of properties. Properties are described by
@@ -18,7 +20,7 @@ import java.util.Map;
*
* <p>Bad configuration of the properties may be reported by {@link #dysfunctionReason()}.
*
* <p>Notable instances of this interface are {@linkplain net.sourceforge.pmd.Rule rules} and
* <p>Notable instances of this interface are {@linkplain Rule rules} and
* {@linkplain net.sourceforge.pmd.renderers.Renderer renderers}.
*
* @author Brian Remedios
@@ -12,9 +12,9 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils;
import net.sourceforge.pmd.PMDVersion;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RuleViolation;
import net.sourceforge.pmd.properties.PropertyDescriptor;
import net.sourceforge.pmd.rule.Rule;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -16,11 +16,11 @@ import org.apache.commons.lang3.StringUtils;
import net.sourceforge.pmd.Report;
import net.sourceforge.pmd.Report.ConfigurationError;
import net.sourceforge.pmd.Rule;
import net.sourceforge.pmd.RuleViolation;
import net.sourceforge.pmd.lang.document.FileId;
import net.sourceforge.pmd.properties.PropertyDescriptor;
import net.sourceforge.pmd.properties.PropertyFactory;
import net.sourceforge.pmd.rule.Rule;
/**
* Renderer to basic HTML format.
@@ -2,12 +2,15 @@
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
package net.sourceforge.pmd.rule;
import java.util.List;
import java.util.Optional;
import java.util.regex.Pattern;
import net.sourceforge.pmd.RuleContext;
import net.sourceforge.pmd.RulePriority;
import net.sourceforge.pmd.RuleSet;
import net.sourceforge.pmd.lang.Language;
import net.sourceforge.pmd.lang.LanguageProcessor;
import net.sourceforge.pmd.lang.LanguageVersion;
Loaded 30 of 81 files, more files were not shown because too many files have changed in this diff. Show more