Added rules and exclusions for checkstyle, findbugs and pmd
The checkstyle, findbugs and pmd reports will now run only on net.onrc... classes.
Added rulesets and suppressions to implement a first pass of reasonable rules to follow for ONOS sources.
Address Yuta's review comments
Make <id> tags in executions consistent
Fix header comment in ruleset and suppression
Add '_' as a valid character in rule names
Change-Id: I1045f751fd27b0d0e815329cc34f0a780c9b38af
Address Pavlin's comments on checkstyle rules.
Change-Id: I1045f751fd27b0d0e815329cc34f0a780c9b38af
diff --git a/conf/pmd/onos_ruleset.xml b/conf/pmd/onos_ruleset.xml
new file mode 100644
index 0000000..f70b8c0
--- /dev/null
+++ b/conf/pmd/onos_ruleset.xml
@@ -0,0 +1,48 @@
+<?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/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>
\ No newline at end of file