<?xml version="1.0"?>
<ruleset name="Ruleset for ms-streetside-josm-plugin"
    xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
  <description>
    This ruleset checks some rules that you should normally follow for the ms-streetside-josm-plugin.
  </description>
  <rule ref="rulesets/java/basic.xml"/>
  <rule ref="rulesets/java/braces.xml">
    <exclude name="IfStmtsMustUseBraces"/>
  </rule>
  <rule ref="rulesets/java/clone.xml"/>

  <rule ref="rulesets/java/controversial.xml/UnnecessaryConstructor"/>
  <rule ref="rulesets/java/controversial.xml/AssignmentInOperand"/>
  <rule ref="rulesets/java/controversial.xml/DontImportSun"/>
  <rule ref="rulesets/java/controversial.xml/SuspiciousOctalEscape"/>
  <rule ref="rulesets/java/controversial.xml/UnnecessaryParentheses"/>

  <rule ref="rulesets/java/coupling.xml">
    <exclude name="LoosePackageCoupling" />
    <exclude name="LawOfDemeter" />
  </rule>
  <rule ref="rulesets/java/design.xml">
    <exclude name="AvoidSynchronizedAtMethodLevel" />
    <exclude name="ConfusingTernary" />
  </rule>
  <rule ref="rulesets/java/empty.xml"/>
  <rule ref="rulesets/java/finalizers.xml"/>
  <rule ref="rulesets/java/imports.xml"/>
  <rule ref="rulesets/java/naming.xml">
    <exclude name="ShortVariable"/>
    <exclude name="LongVariable"/>
    <exclude name="AbstractNaming"/>
  </rule>
  <rule ref="rulesets/java/optimizations.xml">
    <exclude name="LocalVariableCouldBeFinal" />
    <exclude name="MethodArgumentCouldBeFinal" />
    <exclude name="AvoidInstantiatingObjectsInLoops" />
  </rule>
  <rule ref="rulesets/java/strictexception.xml"/>
  <rule ref="rulesets/java/strings.xml"/>
  <rule ref="rulesets/java/sunsecure.xml"/>
  <rule ref="rulesets/java/typeresolution.xml"/>
  <rule ref="rulesets/java/unnecessary.xml">
    <exclude name="UselessParentheses" />
  </rule>
  <rule ref="rulesets/java/unusedcode.xml"/>
</ruleset>
