| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| ~ Copyright 2014-present Open Networking Foundation |
| ~ |
| ~ Licensed under the Apache License, Version 2.0 (the "License"); |
| ~ you may not use this file except in compliance with the License. |
| ~ You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, software |
| ~ distributed under the License is distributed on an "AS IS" BASIS, |
| ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ~ See the License for the specific language governing permissions and |
| ~ limitations under the License. |
| --> |
| <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="category/java/errorprone.xml"> |
| <exclude name="EmptyCatchBlock"/> |
| </rule> |
| <rule ref="category/java/errorprone.xml/EmptyCatchBlock"> |
| <properties> |
| <property name="allowCommentedBlocks" value="true"/> |
| </properties> |
| </rule> |
| <rule ref="category/java/bestpractices.xml"/> |
| <rule ref="rulesets/java/optimizations.xml"> |
| <exclude name="AvoidInstantiatingObjectsInLoops"/> |
| </rule> |
| |
| <rule ref="rulesets/java/strings.xml"> |
| <exclude name="AvoidDuplicateLiterals"/> |
| </rule> |
| <rule ref="rulesets/java/braces.xml"/> |
| <rule ref="category/java/codestyle.xml"> |
| <!-- Explicit public keyword in interface methods is acceptable --> |
| <exclude name="UnnecessaryModifier"/> |
| <exclude name="UselessParentheses"/> |
| <exclude name="ShortClassName"/> |
| <exclude name="ShortMethodName"/> |
| <exclude name="ShortVariable"/> |
| <exclude name="LongVariable"/> |
| <exclude name="MethodArgumentCouldBeFinal"/> |
| <exclude name="LocalVariableCouldBeFinal"/> |
| </rule> |
| <rule ref="category/java/codestyle.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"/> |
| <!-- Suppress Removed misconfigured rule warning --> |
| <exclude name="LoosePackageCoupling"/> |
| </rule> |
| </ruleset> |
| |