[INFO] --- maven-pmd-plugin:3.20.0:pmd (pmd) @ pepper-agent ---
[INFO] PMD version: 6.54.0
I consider a ruleset with a commented rule:
<!-- <rule ref="rulesets/java/unnecessary.xml"> -->
<!-- <exclude name="UnnecessaryFinalModifier" /> -->
<!-- </rule> -->
This lead to warnings referring to this commented block:
[WARNING] Applying rule set filter for exclusions: The rule "UnnecessaryFinalModifier" has been renamed to "UnnecessaryModifier". Please change your ruleset!
[WARNING] Applying rule set filter for exclusions: The rule "UnnecessaryFinalModifier" has been renamed to "UnnecessaryModifier". Please change your ruleset!
This can be reproduced with a ruleset like:
<?xml version="1.0" encoding="UTF-8"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Pepper" xmlns="http://pmd.sf.net/ruleset/1.0.0" xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd" xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd">
<!-- https://pmd.github.io/pmd-6.8.0/pmd_rules_java.html -->
<description>Nearly all PMD rules, except those considered not relevant by Pepper</description>
<rule ref="category/java/multithreading.xml">
<exclude name="DoNotUseThreads" />
<exclude name="UseConcurrentHashMap" />
</rule>
<!-- <rule ref="rulesets/java/unnecessary.xml"> -->
<!-- MAT introduced many final classes with final methods: keep final methods in case the final on class is removed -->
<!-- <exclude name="UnnecessaryFinalModifier" /> -->
<!-- </rule> -->
</ruleset>
This feel very strange to get reports related to a commented block. Happily, it seems the commented rule is not iuncluded for processing (just in the WARN, which is then a false-positive).
Here is a debug log, if it may help:
[INFO] PMD version: 6.54.0
[DEBUG] Configured jul-to-slf4j bridge for net.sourceforge.pmd
[DEBUG] Using language java+version:1.8
[DEBUG] Adding classpath entry: </Users/blacelle/workspace3/pepper/agent/target/classes>
[DEBUG] Adding classpath entry: </Users/blacelle/.m2/repository/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar>
[DEBUG] Adding classpath entry: </Users/blacelle/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar>
[DEBUG] Adding classpath entry: </Users/blacelle/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar>
[DEBUG] Adding classpath entry: </Users/blacelle/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar>
[DEBUG] Adding classpath entry: </Users/blacelle/.m2/repository/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.jar>
[DEBUG] Adding classpath entry: </Users/blacelle/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar>
[DEBUG] Adding classpath entry: </Users/blacelle/.m2/repository/org/ehcache/sizeof/0.4.3/sizeof-0.4.3.jar>
[DEBUG] Adding classpath entry: </Users/blacelle/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.22/byte-buddy-agent-1.12.22.jar>
[DEBUG] Adding classpath entry: </Users/blacelle/.m2/repository/org/checkerframework/checker-qual/3.29.0/checker-qual-3.29.0.jar>
[DEBUG] Adding classpath entry: </Users/blacelle/.m2/repository/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar>
[WARNING] Applying rule set filter for exclusions: The rule "UnnecessaryFinalModifier" has been renamed to "UnnecessaryModifier". Please change your ruleset!
[WARNING] Applying rule set filter for exclusions: The rule "UnnecessaryFinalModifier" has been renamed to "UnnecessaryModifier". Please change your ruleset!
[DEBUG] Rules loaded from /Users/blacelle/workspace3/pepper/agent/target/pmd/rulesets/pepper.pmd.rulesets.xml:
[DEBUG] - AvoidSynchronizedAtMethodLevel (Java)
[DEBUG] - AvoidThreadGroup (Java)
[DEBUG] - AvoidUsingVolatile (Java)
[DEBUG] - DontCallThreadRun (Java)
[DEBUG] - DoubleCheckedLocking (Java)
[DEBUG] - NonThreadSafeSingleton (Java)
[DEBUG] - UnsynchronizedStaticFormatter (Java)
[DEBUG] - UseNotifyAllInsteadOfNotify (Java)
[DEBUG] Executing PMD...
[DEBUG] Processing /Users/blacelle/workspace3/pepper/agent/src/main/java/eu/solven/pepper/agent/InstrumentationAgent.java
[DEBUG] Processing /Users/blacelle/workspace3/pepper/agent/src/main/java/eu/solven/pepper/agent/PepperAgentHelper.java
[DEBUG] Processing /Users/blacelle/workspace3/pepper/agent/src/main/java/eu/solven/pepper/agent/VirtualMachineWithoutToolsJar.java
[DEBUG] Processing /Users/blacelle/workspace3/pepper/agent/src/main/java/org/ehcache/sizeof/impl/AgentLoaderPepperSpy.java
[DEBUG] No type information for node Expression
[DEBUG] No type information for node Expression
[DEBUG] No type information for node Expression
[DEBUG] Method MethodType [method=public abstract void org.slf4j.Logger.warn(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object), returnType=JavaTypeDefinition [clazz=void, definitionType=EXACT, genericArgs=[], isGeneric=false]
, argTypes=[JavaTypeDefinition [clazz=interface org.slf4j.Marker, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.String, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.Object, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.Object, definitionType=EXACT, genericArgs=[], isGeneric=false]
]] couldnt be resolved
[DEBUG] Method MethodType [method=public abstract void org.slf4j.Logger.trace(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object), returnType=JavaTypeDefinition [clazz=void, definitionType=EXACT, genericArgs=[], isGeneric=false]
, argTypes=[JavaTypeDefinition [clazz=interface org.slf4j.Marker, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.String, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.Object, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.Object, definitionType=EXACT, genericArgs=[], isGeneric=false]
]] couldnt be resolved
[DEBUG] No type information for node Expression
[DEBUG] Method MethodType [method=public abstract void org.slf4j.Logger.warn(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object), returnType=JavaTypeDefinition [clazz=void, definitionType=EXACT, genericArgs=[], isGeneric=false]
, argTypes=[JavaTypeDefinition [clazz=interface org.slf4j.Marker, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.String, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.Object, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.Object, definitionType=EXACT, genericArgs=[], isGeneric=false]
]] couldnt be resolved
[DEBUG] No type information for node Expression
[DEBUG] No type information for node Expression
[DEBUG] No type information for node Expression
[DEBUG] Method MethodType [method=public abstract void org.slf4j.Logger.warn(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object), returnType=JavaTypeDefinition [clazz=void, definitionType=EXACT, genericArgs=[], isGeneric=false]
, argTypes=[JavaTypeDefinition [clazz=interface org.slf4j.Marker, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.String, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.Object, definitionType=EXACT, genericArgs=[], isGeneric=false]
, JavaTypeDefinition [clazz=class java.lang.Object, definitionType=EXACT, genericArgs=[], isGeneric=false]
]] couldnt be resolved
[DEBUG] No type information for node Expression
[DEBUG] No type information for node Expression
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidSynchronizedAtMethodLevel (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidSynchronizedAtMethodLevel (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidSynchronizedAtMethodLevel (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidSynchronizedAtMethodLevel (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidThreadGroup (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidThreadGroup (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidThreadGroup (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidThreadGroup (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidUsingVolatile (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidUsingVolatile (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidUsingVolatile (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: AvoidUsingVolatile (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: DontCallThreadRun (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: DontCallThreadRun (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: DontCallThreadRun (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: DontCallThreadRun (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: UseNotifyAllInsteadOfNotify (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: UseNotifyAllInsteadOfNotify (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: UseNotifyAllInsteadOfNotify (Multithreading)
[DEBUG] Using rule chain for XPath 2.0 rule: UseNotifyAllInsteadOfNotify (Multithreading)
[DEBUG] PMD finished. Found 0 violations.
[DEBUG] Removing excluded violations. Using 0 configured exclusions.
[DEBUG] Excluded 0 violations.
[DEBUG] Target PMD output file: /Users/blacelle/workspace3/pepper/agent/target/pmd.xml
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4