<?xml version="1.0"?> <ruleset name="Custom Rules" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd"> <description> Rules for the PMD linter </description> <rule ref="category/java/bestpractices.xml"> <exclude name="GuardLogStatement"/> <exclude name="UseVarargs"/> </rule> <rule ref="category/java/codestyle.xml"> <exclude name="AtLeastOneConstructor"/> <exclude name="OnlyOneReturn"/> <exclude name="ShortClassName"/> <exclude name="UselessParentheses"/> <!-- does not work properly with annotation imports --> <exclude name="UnnecessaryImport"/> <!-- should be included, removed to find other lints --> <exclude name="MethodArgumentCouldBeFinal"/> <exclude name="LocalVariableCouldBeFinal"/> <exclude name="FieldNamingConventions"/> <exclude name="ShortVariable"/> <exclude name="LongVariable"/> <exclude name="UseUnderscoresInNumericLiterals"/> <exclude name="CommentDefaultAccessModifier"/> <exclude name="BooleanGetMethodName"/> </rule> <rule ref="category/java/design.xml"> <exclude name="LawOfDemeter"/> <exclude name="DataClass"/> <exclude name="ExcessiveImports"/> <!-- seems to be broken in its default config --> <exclude name="LoosePackageCoupling"/> </rule> <rule ref="category/java/documentation.xml"> <exclude name="CommentSize"/> <exclude name="CommentRequired"/> <exclude name="UncommentedEmptyConstructor"/> </rule> <rule ref="category/java/errorprone.xml"> <exclude name="BeanMembersShouldSerialize"/> <exclude name="AvoidLiteralsInIfCondition"/> </rule> <rule ref="category/java/multithreading.xml"></rule> <rule ref="category/java/performance.xml"> <exclude name="RedundantFieldInitializer"/> <exclude name="TooFewBranchesForASwitchStatement"/> <exclude name="AvoidInstantiatingObjectsInLoops"/> <exclude name="AvoidFileStream"/> </rule> <rule ref="category/java/security.xml"></rule> </ruleset>