Add ErrorProne rules

This commit is contained in:
Paul Campbell 2018-02-20 07:32:14 +00:00
parent 1c7eb1830f
commit ed5d941a43

View file

@ -144,57 +144,57 @@ http://pmd.sourceforge.net/ruleset/2.0.0 ">
<property name="classReportLevel" value="20"/> <property name="classReportLevel" value="20"/>
</properties> </properties>
</rule> </rule>
<rule ref="category/java/design.xml/DataClass" /> <rule ref="category/java/design.xml/DataClass"/>
<rule ref="category/java/design.xml/DoNotExtendJavaLangError" /> <rule ref="category/java/design.xml/DoNotExtendJavaLangError"/>
<rule ref="category/java/design.xml/ExceptionAsFlowControl" /> <rule ref="category/java/design.xml/ExceptionAsFlowControl"/>
<rule ref="category/java/design.xml/ExcessiveClassLength" > <rule ref="category/java/design.xml/ExcessiveClassLength">
<properties> <properties>
<property name="minimum" value="500"/> <property name="minimum" value="500"/>
</properties> </properties>
</rule> </rule>
<rule ref="category/java/design.xml/ExcessiveImports" /> <rule ref="category/java/design.xml/ExcessiveImports"/>
<rule ref="category/java/design.xml/ExcessiveMethodLength" > <rule ref="category/java/design.xml/ExcessiveMethodLength">
<properties> <properties>
<property name="minimum" value="30"/> <property name="minimum" value="30"/>
</properties> </properties>
</rule> </rule>
<rule ref="category/java/design.xml/ExcessiveParameterList" > <rule ref="category/java/design.xml/ExcessiveParameterList">
<properties> <properties>
<property name="minimum" value="7"/> <property name="minimum" value="7"/>
</properties> </properties>
</rule> </rule>
<rule ref="category/java/design.xml/ExcessivePublicCount" > <rule ref="category/java/design.xml/ExcessivePublicCount">
<properties> <properties>
<property name="minimum" value="30"/> <property name="minimum" value="30"/>
</properties> </properties>
</rule> </rule>
<rule ref="category/java/design.xml/FinalFieldCouldBeStatic" /> <rule ref="category/java/design.xml/FinalFieldCouldBeStatic"/>
<rule ref="category/java/design.xml/GodClass" /> <rule ref="category/java/design.xml/GodClass"/>
<rule ref="category/java/design.xml/ImmutableField" /> <rule ref="category/java/design.xml/ImmutableField"/>
<rule ref="category/java/design.xml/LawOfDemeter" /><!-- Can this cope with Streams --> <rule ref="category/java/design.xml/LawOfDemeter"/><!-- Can this cope with Streams -->
<rule ref="category/java/design.xml/LogicInversion" /> <rule ref="category/java/design.xml/LogicInversion"/>
<rule ref="category/java/design.xml/NcssCount" /> <rule ref="category/java/design.xml/NcssCount"/>
<rule ref="category/java/design.xml/NPathComplexity" > <rule ref="category/java/design.xml/NPathComplexity">
<properties> <properties>
<property name="reportLevel" value="5"/> <property name="reportLevel" value="5"/>
</properties> </properties>
</rule> </rule>
<rule ref="category/java/design.xml/SignatureDeclareThrowsException" /> <rule ref="category/java/design.xml/SignatureDeclareThrowsException"/>
<rule ref="category/java/design.xml/SimplifiedTernary" /> <rule ref="category/java/design.xml/SimplifiedTernary"/>
<rule ref="category/java/design.xml/SimplifyBooleanAssertion" /> <rule ref="category/java/design.xml/SimplifyBooleanAssertion"/>
<rule ref="category/java/design.xml/SimplifyBooleanExpressions" /> <rule ref="category/java/design.xml/SimplifyBooleanExpressions"/>
<rule ref="category/java/design.xml/SimplifyBooleanReturns" /> <rule ref="category/java/design.xml/SimplifyBooleanReturns"/>
<rule ref="category/java/design.xml/SimplifyConditional" /> <rule ref="category/java/design.xml/SimplifyConditional"/>
<rule ref="category/java/design.xml/SingularField" /> <rule ref="category/java/design.xml/SingularField"/>
<rule ref="category/java/design.xml/SwitchDensity" /> <rule ref="category/java/design.xml/SwitchDensity"/>
<rule ref="category/java/design.xml/TooManyFields" /> <rule ref="category/java/design.xml/TooManyFields"/>
<rule ref="category/java/design.xml/TooManyMethods" /> <rule ref="category/java/design.xml/TooManyMethods"/>
<rule ref="category/java/design.xml/UselessOverridingMethod" /> <rule ref="category/java/design.xml/UselessOverridingMethod"/>
<rule ref="category/java/design.xml/UseObjectForClearerAPI" /> <rule ref="category/java/design.xml/UseObjectForClearerAPI"/>
<rule ref="category/java/design.xml/UseUtilityClass" /> <rule ref="category/java/design.xml/UseUtilityClass"/>
<!-- Documentation --> <!-- Documentation -->
<rule ref="category/java/documentation.xml/CommentRequired" > <rule ref="category/java/documentation.xml/CommentRequired">
<properties> <properties>
<property name="enumCommentRequirement" value="Ignored"/> <property name="enumCommentRequirement" value="Ignored"/>
<property name="fieldCommentRequirement" value="Ignored"/> <property name="fieldCommentRequirement" value="Ignored"/>
@ -202,8 +202,113 @@ http://pmd.sourceforge.net/ruleset/2.0.0 ">
<!-- only public and protected methods are required --> <!-- only public and protected methods are required -->
</properties> </properties>
</rule> </rule>
<rule ref="category/java/documentation.xml/CommentSize" /> <rule ref="category/java/documentation.xml/CommentSize"/>
<rule ref="category/java/documentation.xml/UncommentedEmptyConstructor" /> <rule ref="category/java/documentation.xml/UncommentedEmptyConstructor"/>
<rule ref="category/java/documentation.xml/UncommentedEmptyMethodBody" /> <rule ref="category/java/documentation.xml/UncommentedEmptyMethodBody"/>
<!-- Error Prone -->
<rule ref="category/java/errorprone.xml/AssignmentInOperand"/>
<rule ref="category/java/errorprone.xml/AssignmentToNonFinalStatic"/>
<rule ref="category/java/errorprone.xml/AvoidAccessibilityAlteration"/>
<rule ref="category/java/errorprone.xml/AvoidAssertAsIdentifier"/>
<rule ref="category/java/errorprone.xml/AvoidBranchingStatementAsLastInLoop"/>
<rule ref="category/java/errorprone.xml/AvoidCallingFinalize"/>
<rule ref="category/java/errorprone.xml/AvoidCatchingNPE"/>
<rule ref="category/java/errorprone.xml/AvoidCatchingThrowable"/>
<rule ref="category/java/errorprone.xml/AvoidDecimalLiteralsInBigDecimalConstructor"/>
<rule ref="category/java/errorprone.xml/AvoidDuplicateLiterals">
<properties>
<property name="maxDuplicateLiterals" value="1"/>
</properties>
</rule>
<rule ref="category/java/errorprone.xml/AvoidEnumAsIdentifier"/>
<rule ref="category/java/errorprone.xml/AvoidFieldNameMatchingTypeName"/>
<rule ref="category/java/errorprone.xml/AvoidInstanceofChecksInCatchClause"/>
<rule ref="category/java/errorprone.xml/AvoidLiteralsInIfCondition"/>
<rule ref="category/java/errorprone.xml/AvoidLosingExceptionInformation"/>
<rule ref="category/java/errorprone.xml/AvoidMultipleUnaryOperators"/>
<rule ref="category/java/errorprone.xml/AvoidUsingOctalValues"/>
<rule ref="category/java/errorprone.xml/BadComparison"/>
<rule ref="category/java/errorprone.xml/BeanMembersShouldSerialize"/>
<rule ref="category/java/errorprone.xml/BrokenNullCheck"/>
<rule ref="category/java/errorprone.xml/CheckSkipResult"/>
<rule ref="category/java/errorprone.xml/ClassCastExceptionWithToArray"/>
<rule ref="category/java/errorprone.xml/CloneMethodMustBePublic"/>
<rule ref="category/java/errorprone.xml/CloneMethodMustImplementCloneable"/>
<rule ref="category/java/errorprone.xml/CloneMethodReturnTypeMustMatchClassName"/>
<rule ref="category/java/errorprone.xml/CloneThrowsCloneNotSupportedException"/>
<rule ref="category/java/errorprone.xml/CloseResource"/>
<rule ref="category/java/errorprone.xml/CompareObjectsWithEquals"/>
<rule ref="category/java/errorprone.xml/ConstructorCallsOverridableMethod"/>
<rule ref="category/java/errorprone.xml/DataflowAnomalyAnalysis">
<properties>
<property name="maxViolations" value="0"/>
</properties>
</rule>
<rule ref="category/java/errorprone.xml/DoNotCallGarbageCollectionExplicitly"/>
<rule ref="category/java/errorprone.xml/DoNotCallSystemExit"/>
<rule ref="category/java/errorprone.xml/DoNotExtendJavaLangThrowable"/>
<rule ref="category/java/errorprone.xml/DoNotHardCodeSDCard"/>
<rule ref="category/java/errorprone.xml/DoNotThrowExceptionInFinally"/>
<rule ref="category/java/errorprone.xml/DontImportSun"/>
<rule ref="category/java/errorprone.xml/DontUseFloatTypeForLoopIndices"/>
<rule ref="category/java/errorprone.xml/EmptyCatchBlock">
<properties>
<property name="allowCommentedBlocks" value="true"/>
</properties>
</rule>
<rule ref="category/java/errorprone.xml/EmptyFinalizer" />
<rule ref="category/java/errorprone.xml/EmptyFinallyBlock" />
<rule ref="category/java/errorprone.xml/EmptyIfStmt" />
<rule ref="category/java/errorprone.xml/EmptyInitializer" />
<rule ref="category/java/errorprone.xml/EmptyStatementBlock" />
<rule ref="category/java/errorprone.xml/EmptyStatementNotInLoop" />
<rule ref="category/java/errorprone.xml/EmptySwitchStatements" />
<rule ref="category/java/errorprone.xml/EmptySynchronizedBlock" />
<rule ref="category/java/errorprone.xml/EmptyTryBlock" />
<rule ref="category/java/errorprone.xml/EmptyWhileStmt" />
<rule ref="category/java/errorprone.xml/EqualsNull" />
<rule ref="category/java/errorprone.xml/FinalizeDoesNotCallSuperFinalize" />
<rule ref="category/java/errorprone.xml/FinalizeOnlyCallsSuperFinalize" />
<rule ref="category/java/errorprone.xml/FinalizeOverloaded" />
<rule ref="category/java/errorprone.xml/FinalizeShouldBeProtected" />
<rule ref="category/java/errorprone.xml/IdempotentOperations" />
<rule ref="category/java/errorprone.xml/ImportFromSamePackage" />
<rule ref="category/java/errorprone.xml/InstantiationToGetClass" />
<rule ref="category/java/errorprone.xml/InvalidSlf4jMessageFormat" />
<rule ref="category/java/errorprone.xml/JumbledIncrementer" />
<rule ref="category/java/errorprone.xml/JUnitSpelling" />
<rule ref="category/java/errorprone.xml/JUnitStaticSuite" />
<rule ref="category/java/errorprone.xml/LoggerIsNotStaticFinal" />
<rule ref="category/java/errorprone.xml/MethodWithSameNameAsEnclosingClass" />
<rule ref="category/java/errorprone.xml/MisplacedNullCheck" />
<rule ref="category/java/errorprone.xml/MissingBreakInSwitch" />
<rule ref="category/java/errorprone.xml/MissingSerialVersionUID" />
<rule ref="category/java/errorprone.xml/MissingStaticMethodInNonInstantiatableClass" />
<rule ref="category/java/errorprone.xml/MoreThanOneLogger" />
<rule ref="category/java/errorprone.xml/NonCaseLabelInSwitchStatement" />
<rule ref="category/java/errorprone.xml/NonStaticInitializer" />
<rule ref="category/java/errorprone.xml/NullAssignment" />
<rule ref="category/java/errorprone.xml/OverrideBothEqualsAndHashcode" />
<rule ref="category/java/errorprone.xml/ProperCloneImplementation" />
<rule ref="category/java/errorprone.xml/ReturnEmptyArrayRatherThanNull" />
<rule ref="category/java/errorprone.xml/ReturnFromFinallyBlock" />
<rule ref="category/java/errorprone.xml/SimpleDateFormatNeedsLocale" />
<rule ref="category/java/errorprone.xml/SingleMethodSingleton" />
<rule ref="category/java/errorprone.xml/SingletonClassReturningNewInstance" />
<rule ref="category/java/errorprone.xml/StringBufferInstantiationWithChar" />
<rule ref="category/java/errorprone.xml/SuspiciousEqualsMethodName" />
<rule ref="category/java/errorprone.xml/SuspiciousHashcodeMethodName" />
<rule ref="category/java/errorprone.xml/SuspiciousOctalEscape" />
<rule ref="category/java/errorprone.xml/UnconditionalIfStatement" />
<rule ref="category/java/errorprone.xml/UnnecessaryBooleanAssertion" />
<rule ref="category/java/errorprone.xml/UnnecessaryCaseChange" />
<rule ref="category/java/errorprone.xml/UnnecessaryConversionTemporary" />
<rule ref="category/java/errorprone.xml/UnusedNullCheckInEquals" />
<rule ref="category/java/errorprone.xml/UseCorrectExceptionLogging" />
<rule ref="category/java/errorprone.xml/UseEqualsToCompareStrings" />
<rule ref="category/java/errorprone.xml/UselessOperationOnImmutable" />
<rule ref="category/java/errorprone.xml/UseLocaleWithCaseConversions" />
<rule ref="category/java/errorprone.xml/UseProperClassLoader" />
</ruleset> </ruleset>