blob: d237731cd26f82e013c1e2b39ef748fd281f6e80 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="ONOS Rules"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd" >
<description>ONOS PMD rules</description>
<rule ref="rulesets/java/unnecessary.xml" >
<exclude name="UselessParentheses" />
</rule>
<rule ref="rulesets/java/basic.xml">
<exclude name="EmptyCatchBlock"/>
</rule>
<rule ref="rulesets/java/basic.xml/EmptyCatchBlock">
<properties>
<property name="allowCommentedBlocks" value="true"/>
</properties>
</rule>
<rule ref="rulesets/java/unusedcode.xml"/>
<rule ref="rulesets/java/imports.xml"/>
<rule ref="rulesets/java/optimizations.xml">
<exclude name="LocalVariableCouldBeFinal" />
<exclude name="MethodArgumentCouldBeFinal" />
<exclude name="AvoidInstantiatingObjectsInLoops" />
</rule>
<rule ref="rulesets/java/strings.xml">
<exclude name="AvoidDuplicateLiterals" />
</rule>
<rule ref="rulesets/java/braces.xml"/>
<rule ref="rulesets/java/naming.xml">
<exclude name="AvoidInstantiatingObjectsInLoops" />
<exclude name="ShortMethodName" />
<exclude name="ShortVariable" />
<exclude name="LongVariable" />
</rule>
<rule ref="rulesets/java/naming.xml/VariableNamingConventions">
<properties>
<!-- ONOS allows the name "log" for static final Loggers -->
<property name="violationSuppressRegex" value=".*'log'.*"/>
</properties>
</rule>
<rule ref="rulesets/java/clone.xml"/>
<rule ref="rulesets/java/strictexception.xml"/>
<rule ref="rulesets/java/design.xml">
<exclude name="GodClass" />
</rule>
<rule ref="rulesets/java/coupling.xml">
<exclude name="LawOfDemeter" />
<exclude name="ExcessiveImports" />
</rule>
</ruleset>