John Park | 7eb9042 | 2018-01-27 12:04:57 -0800 | [diff] [blame] | 1 | <?xml version="1.0"?> |
| 2 | <ruleset name="WPILibRuleset" |
| 3 | xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" |
| 4 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 5 | xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd"> |
| 6 | <rule ref="rulesets/java/basic.xml" /> |
| 7 | <rule ref="rulesets/java/braces.xml" /> |
| 8 | <rule ref="rulesets/java/empty.xml" /> |
| 9 | <rule ref="rulesets/java/empty.xml/EmptyCatchBlock"> |
| 10 | <properties> |
| 11 | <property name="allowCommentedBlocks" value="true"/> |
| 12 | </properties> |
| 13 | </rule> |
| 14 | <rule ref="rulesets/java/imports.xml" /> |
| 15 | <rule ref="rulesets/java/junit.xml"> |
| 16 | <exclude name="JUnitTestContainsTooManyAsserts" /> |
| 17 | </rule> |
| 18 | <rule ref="rulesets/java/strings.xml"> |
| 19 | <exclude name="AvoidDuplicateLiterals" /> |
| 20 | </rule> |
| 21 | <rule ref="rulesets/java/unnecessary.xml" /> |
| 22 | <rule ref="rulesets/java/unusedcode.xml" /> |
| 23 | <rule ref="rulesets/java/unusedcode.xml/UnusedFormalParameter"> |
| 24 | <properties> |
| 25 | <property name="checkAll" value="true"/> |
| 26 | </properties> |
| 27 | </rule> |
| 28 | |
| 29 | <!-- Custom Rules --> |
| 30 | |
| 31 | <rule name="UseRequireNonNull" |
| 32 | message="Use Objects.requireNonNull() instead of throwing a NullPointerException yourself." |
| 33 | language="java" |
| 34 | class="net.sourceforge.pmd.lang.rule.XPathRule"> |
| 35 | <description> |
| 36 | Use Objects.requireNonNull() instead of throwing a NullPointerException yourself. |
| 37 | </description> |
| 38 | <properties> |
| 39 | <property name="xpath"> |
| 40 | <value> |
| 41 | <![CDATA[ |
| 42 | //IfStatement[child::Expression//NullLiteral]/Statement//ThrowStatement/Expression/PrimaryExpression/PrimaryPrefix/AllocationExpression/ClassOrInterfaceType[@Image='NullPointerException'] |
| 43 | ]]> |
| 44 | </value> |
| 45 | </property> |
| 46 | </properties> |
| 47 | <priority>3</priority> |
| 48 | <example> |
| 49 | <![CDATA[ |
| 50 | public class Example { |
| 51 | public Example(Object example) { |
| 52 | if (example == null) { |
| 53 | throw new NullPointerException(); |
| 54 | } |
| 55 | } |
| 56 | } |
| 57 | ]]> |
| 58 | </example> |
| 59 | </rule> |
| 60 | |
| 61 | </ruleset> |