This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content
Snippets Groups Projects
pmd_rules.xml 2.26 KiB
Newer Older
<?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>