<?xml version="1.0"?>
<ruleset name="JOSM ruleset"
    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>JOSM PMD ruleset</description>
 
  <!-- <rule ref="rulesets/java/basic.xml"/>
  <rule ref="rulesets/java/braces.xml"/>
  <rule ref="rulesets/java/clone.xml"/>
  <rule ref="rulesets/java/codesize.xml"/>
  <rule ref="rulesets/java/comments.xml"/>
  <rule ref="rulesets/java/design.xml"/>
  <rule ref="rulesets/java/empty.xml"/>
  <rule ref="rulesets/java/finalizers.xml"/>
  <rule ref="rulesets/java/imports.xml"/>
  <rule ref="rulesets/java/migrating.xml"/>
  <rule ref="rulesets/java/naming.xml"/>
  <rule ref="rulesets/java/optimizations.xml">
  	<exclude name="LocalVariableCouldBeFinal"/>
  	<exclude name="MethodArgumentCouldBeFinal"/>
  </rule>
  <rule ref="rulesets/java/strictexception.xml"/> -->
  <rule ref="rulesets/java/strings.xml">
  	<exclude name="AvoidDuplicateLiterals"/>
  	<exclude name="ConsecutiveLiteralAppends"/>
  	<exclude name="AvoidStringBufferField"/>
  	<exclude name="StringToString"/>
  	<exclude name="UselessStringValueOf"/>
  </rule>
  <rule ref="rulesets/java/typeresolution.xml">
  	<exclude name="LooseCoupling"/>
  	<exclude name="SignatureDeclareThrowsException"/>
  </rule>
  <rule ref="rulesets/java/typeresolution.xml/SignatureDeclareThrowsException">
    <properties>
        <property name="violationSuppressXPath" value="//MethodDeclaration/../Annotation/MarkerAnnotation/Name[@Image='Override']"/>
        <property name="IgnoreJUnitCompletely" value="true"/>
    </properties>
  </rule>
  <rule ref="rulesets/java/unnecessary.xml">
  	<exclude name="UselessParentheses"/>
  	<exclude name="UselessOverridingMethod"/>
  </rule>
  <rule ref="rulesets/java/unusedcode.xml">
  	<exclude name="UnusedFormalParameter"/>
  </rule>
  <rule ref="rulesets/java/unusedcode.xml/UnusedFormalParameter">
    <properties>
        <property name="violationSuppressXPath" value="//Annotation[MarkerAnnotation/Name/@Image='Deprecated']/..[MethodDeclaration|ConstructorDeclaration]"/>
    </properties>
  </rule>

</ruleset>