Skip to content

resolve PMD warning during execution #18070

@romani

Description

@romani

resolve PMD warning in logs:
https://ci.appveyor.com/project/Checkstyle/checkstyle/builds/53003228/job/rcb6sqkpyovuw7pb#L1782

[INFO] >>> pmd:3.28.0:check (default) > :pmd @ checkstyle >>>
[INFO] 
[INFO] --- pmd:3.28.0:pmd (pmd) @ checkstyle ---
[INFO] PMD version: 7.18.0
[WARNING] Warning at C:\projects\checkstyle\target\pmd\rulesets\001-pmd-main.xml:53:3
 51|     </properties>
 52|   </rule>
 53|   <rule ref="category/java/design.xml/AvoidCatchingGenericException">
       ^^^^^ Use Rule name category/java/errorprone.xml/AvoidCatchingGenericException instead of the deprecated Rule name category/java/design.xml/AvoidCatchingGenericException. PMD 8.0.0 will remove support for this deprecated Rule name usage.
 54|     <properties>
 55|       <!-- we allow catching Exception in certain cases to provide more details in wrapper -->
[WARNING] Warning at C:\projects\checkstyle\target\pmd\rulesets\001-pmd-main.xml:53:3
 51|     </properties>
 52|   </rule>
 53|   <rule ref="category/java/design.xml/AvoidCatchingGenericException">
       ^^^^^ Use Rule name category/java/errorprone.xml/AvoidCatchingGenericException instead of the deprecated Rule name category/java/design.xml/AvoidCatchingGenericException. PMD 8.0.0 will remove support for this deprecated Rule name usage.
 54|     <properties>
 55|       <!-- we allow catching Exception in certain cases to provide more details in wrapper -->
[WARNING] Exception applying rule UselessOverridingMethod on file C:\projects\checkstyle\src\main\java\com\puppycrawl\tools\checkstyle\checks\annotation\MissingDeprecatedCheck.java, continuing with next rule
net.sourceforge.pmd.lang.rule.xpath.PmdXPathException: net.sf.saxon.trans.XPathException: XPath rule expression returned a non-node (class net.sf.saxon.value.StringValue): 
Exception Context:
	[1:Kind=Unknown error]
	[2:Phase=EVALUATION]
	[3:Expression=//ClassDeclaration[@SimpleName='MissingDeprecatedCheck']                       //MethodDeclaration[@Name='setViolateExecutionOnNonTightHtml']                       || //ClassDeclaration[@SimpleName='LineLengthCheck']                       //MethodDeclaration[@Name='setFileExtensions']                       || //ClassDeclaration[@SimpleName='NonEmptyAtclauseDescriptionCheck']                       //MethodDeclaration[@Name='setJavadocTokens']                       || //ClassDeclaration[@SimpleName='ConstantNameCheck']                       //MethodDeclaration[@Name='setApplyToPackage'                                             or @Name='setApplyToPrivate'                                             or @Name='setApplyToProtected'                                             or @Name='setApplyToPublic']                       || //ClassDeclaration[@SimpleName='StaticVariableNameCheck']                       //MethodDeclaration[@Name='setApplyToPackage'                                             or @Name='setApplyToPrivate'                                             or @Name='setApplyToProtected'                                             or @Name='setApplyToPublic']                       || //ClassDeclaration[@SimpleName='TypeNameCheck']                       //MethodDeclaration[@Name='setApplyToPackage'                                             or @Name='setApplyToPrivate'                                             or @Name='setApplyToProtected'                                             or @Name='setApplyToPublic']                       || //ClassDeclaration[@SimpleName='MemberNameCheck']                       //MethodDeclaration[@Name='setApplyToPackage'                                             or @Name='setApplyToPrivate'                                             or @Name='setApplyToProtected'                                             or @Name='setApplyToPublic']                       || //ClassDeclaration[@SimpleName='MethodNameCheck']                       //MethodDeclaration[@Name='setApplyToPackage'                                             or @Name='setApplyToPrivate'                                             or @Name='setApplyToProtected'                                             or @Name='setApplyToPublic']                       || //ClassDeclaration[@SimpleName='ClassDataAbstractionCouplingCheck']                       //MethodDeclaration[@Name='setExcludeClassesRegexps'                                             or @Name='setExcludedClasses'                                             or @Name='setExcludedPackages']                       || //ClassDeclaration[@SimpleName='ClassFanOutComplexityCheck']                       //MethodDeclaration[@Name='setExcludeClassesRegexps'                                             or @Name='setExcludedClasses'                                             or @Name='setExcludedPackages']]
	[4:Version=3.1]
	[5:Location in expr=null]
	[6:Rule applied on node=!debug only! [MethodDeclaration:129:17]/**
     * Setter to control when to print violations if the Javadoc being examined by this check
     * violates the tight html rules defi(truncated)]
---------------------------------
    at net.sourceforge.pmd.lang.rule.xpath.internal.SaxonXPathRuleQuery.wrapException (SaxonXPathRuleQuery.java:151)
    at net.sourceforge.pmd.lang.rule.xpath.internal.SaxonXPathRuleQuery.evaluate (SaxonXPathRuleQuery.java:142)
    at net.sourceforge.pmd.reporting.ViolationSuppressor$2.suppressOrNull (ViolationSuppressor.java:88)
    at net.sourceforge.pmd.reporting.ViolationSuppressor.suppressOrNull (ViolationSuppressor.java:198)
    at net.sourceforge.pmd.reporting.RuleContext.suppressOrNull (RuleContext.java:248)
    at net.sourceforge.pmd.reporting.RuleContext.addViolationWithPosition (RuleContext.java:194)
    at net.sourceforge.pmd.reporting.RuleContext.addViolationWithPosition (RuleContext.java:146)
    at net.sourceforge.pmd.reporting.RuleContext.addViolationWithMessage (RuleContext.java:124)
    at net.sourceforge.pmd.reporting.RuleContext.addViolation (RuleContext.java:83)
    at net.sourceforge.pmd.lang.java.rule.design.UselessOverridingMethodRule.visit (UselessOverridingMethodRule.java:93)
    at net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration.acceptVisitor (ASTMethodDeclaration.java:56)
    at net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.acceptVisitor (AbstractJavaNode.java:38)
    at net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.apply (AbstractJavaRule.java:30)
    at net.sourceforge.pmd.lang.rule.RuleReference.apply (RuleReference.java:413)
    at net.sourceforge.pmd.lang.rule.RuleReference.apply (RuleReference.java:413)
    at net.sourceforge.pmd.lang.rule.internal.RuleApplicator.applyOnIndex (RuleApplicator.java:77)
    at net.sourceforge.pmd.lang.rule.internal.RuleApplicator.apply (RuleApplicator.java:57)
    at net.sourceforge.pmd.lang.rule.internal.RuleSets.apply (RuleSets.java:183)
    at net.sourceforge.pmd.lang.impl.PmdRunnable.processSource (PmdRunnable.java:140)
    at net.sourceforge.pmd.lang.impl.PmdRunnable.run (PmdRunnable.java:80)
    at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:572)
    at java.util.concurrent.FutureTask.run (FutureTask.java:317)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1144)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:642)
    at java.lang.Thread.run (Thread.java:1583)
Caused by: net.sf.saxon.trans.XPathException: XPath rule expression returned a non-node (class net.sf.saxon.value.StringValue): 
    at net.sourceforge.pmd.lang.rule.xpath.internal.SaxonXPathRuleQuery.evaluate (SaxonXPathRuleQuery.java:132)
    at net.sourceforge.pmd.reporting.ViolationSuppressor$2.suppressOrNull (ViolationSuppressor.java:88)
    at net.sourceforge.pmd.reporting.ViolationSuppressor.suppressOrNull (ViolationSuppressor.java:198)
    at net.sourceforge.pmd.reporting.RuleContext.suppressOrNull (RuleContext.java:248)
    at net.sourceforge.pmd.reporting.RuleContext.addViolationWithPosition (RuleContext.java:194)
    at net.sourceforge.pmd.reporting.RuleContext.addViolationWithPosition (RuleContext.java:146)
    at net.sourceforge.pmd.reporting.RuleContext.addViolationWithMessage (RuleContext.java:124)
    at net.sourceforge.pmd.reporting.RuleContext.addViolation (RuleContext.java:83)
    at net.sourceforge.pmd.lang.java.rule.design.UselessOverridingMethodRule.visit (UselessOverridingMethodRule.java:93)
    at net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration.acceptVisitor (ASTMethodDeclaration.java:56)
    at net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.acceptVisitor (AbstractJavaNode.java:38)
    at net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.apply (AbstractJavaRule.java:30)
    at net.sourceforge.pmd.lang.rule.RuleReference.apply (RuleReference.java:413)
    at net.sourceforge.pmd.lang.rule.RuleReference.apply (RuleReference.java:413)
    at net.sourceforge.pmd.lang.rule.internal.RuleApplicator.applyOnIndex (RuleApplicator.java:77)
    at net.sourceforge.pmd.lang.rule.internal.RuleApplicator.apply (RuleApplicator.java:57)
    at net.sourceforge.pmd.lang.rule.internal.RuleSets.apply (RuleSets.java:183)
    at net.sourceforge.pmd.lang.impl.PmdRunnable.processSource (PmdRunnable.java:140)
    at net.sourceforge.pmd.lang.impl.PmdRunnable.run (PmdRunnable.java:80)
    at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:572)
    at java.util.concurrent.FutureTask.run (FutureTask.java:317)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1144)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:642)
    at java.lang.Thread.run (Thread.java:1583)
[WARNING] Exception occurred on node !debug only! [MethodDeclaration:129:17]/**
     * Setter to control when to print violations if the Javadoc being examined by this check
     * violates the tight html rules defi(truncated)

....

there are few exception stacktraces like this, all should be resolved.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions