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