
To appease PMD, we now have a three rulesets in `config/pmd/*.xml`: * `rules.xml`: The bulk of the rules, used by both main and test code. * `rules-main.xml`: Rules specific to the andoid client code. * `rules-test.xml`: Rules specific to test code. The rationale is because checkstyle by default checks for "too many static imports", which is a fair call. However in JUnit4 code, it is common to import many `assert*` static methods.
53 lines
2.7 KiB
XML
53 lines
2.7 KiB
XML
<?xml version="1.0"?>
|
|
<ruleset name="Custom ruleset"
|
|
xmlns="http://pmd.sf.net/ruleset/1.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
|
|
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
|
|
|
|
<rule ref="rulesets/java/basic.xml">
|
|
<exclude name="CollapsibleIfStatements"/> <!--sometimes forces hard to read code-->
|
|
</rule>
|
|
<rule ref="rulesets/java/unusedcode.xml"/>
|
|
<rule ref="rulesets/java/android.xml"/>
|
|
<rule ref="rulesets/java/clone.xml"/>
|
|
<rule ref="rulesets/java/finalizers.xml"/>
|
|
<rule ref="rulesets/java/migrating.xml"/>
|
|
<rule ref="rulesets/java/unnecessary.xml">
|
|
<exclude name="UselessParentheses"/> <!--Too nitpicky-->
|
|
</rule>
|
|
<rule ref="rulesets/java/empty.xml">
|
|
<exclude name="EmptyCatchBlock"/> <!--Ignoring an exception-->
|
|
<exclude name="EmptyWhileStmt"/> <!--Can be useful sometimes-->
|
|
</rule>
|
|
<rule ref="rulesets/java/optimizations.xml/PrematureDeclaration"/>
|
|
<rule ref="rulesets/java/optimizations.xml/AddEmptyString"/>
|
|
<rule ref="rulesets/java/optimizations.xml/UseArraysAsList"/>
|
|
<rule ref="rulesets/java/optimizations.xml/UnnecessaryWrapperObjectCreation"/>
|
|
|
|
<rule ref="rulesets/java/controversial.xml/UnnecessaryConstructor"/>
|
|
<rule ref="rulesets/java/controversial.xml/UnnecessaryParentheses"/>
|
|
|
|
<rule ref="rulesets/java/strictexception.xml/AvoidRethrowingException"/>
|
|
<rule ref="rulesets/java/strictexception.xml/AvoidCatchingThrowable"/>
|
|
<rule ref="rulesets/java/strictexception.xml/AvoidCatchingNPE"/>
|
|
<rule ref="rulesets/java/strictexception.xml/DoNotExtendJavaLangError"/>
|
|
<rule ref="rulesets/java/strictexception.xml/DoNotThrowExceptionInFinally"/>
|
|
<rule ref="rulesets/java/strictexception.xml/AvoidThrowingNewInstanceOfSameException"/>
|
|
<rule ref="rulesets/java/strictexception.xml/AvoidThrowingNullPointerException"/>
|
|
|
|
<rule ref="rulesets/java/design.xml/FinalFieldCouldBeStatic"/>
|
|
<rule ref="rulesets/java/design.xml/CloseResource"/>
|
|
<rule ref="rulesets/java/design.xml/DefaultLabelNotLastInSwitchStmt"/>
|
|
<rule ref="rulesets/java/design.xml/UnnecessaryLocalBeforeReturn"/>
|
|
<rule ref="rulesets/java/design.xml/NonCaseLabelInSwitchStatement"/>
|
|
<rule ref="rulesets/java/design.xml/EqualsNull"/>
|
|
<rule ref="rulesets/java/design.xml/IdempotentOperations"/>
|
|
<rule ref="rulesets/java/design.xml/ImmutableField"/>
|
|
<rule ref="rulesets/java/design.xml/SingularField"/>
|
|
<rule ref="rulesets/java/design.xml/SimplifyBooleanReturns"/>
|
|
<rule ref="rulesets/java/design.xml/SimplifyBooleanExpressions"/>
|
|
<rule ref="rulesets/java/design.xml/LogicInversion"/>
|
|
|
|
</ruleset>
|