<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="Custom ruleset for OpenGrok"
    xmlns="http://pmd.sf.net/ruleset/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
    xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">

  <description>
  Settings for PMD, tuned for the OpenGrok project.
  </description>
  
  <rule ref="rulesets/java/strings.xml"/>
  <rule ref="rulesets/java/basic.xml"/>
  <rule ref="rulesets/java/braces.xml"/>
  <rule ref="rulesets/java/clone.xml"/>
  <rule ref="rulesets/java/design.xml"/>
  <rule ref="rulesets/java/finalizers.xml"/>
  <rule ref="rulesets/java/imports.xml"/>
  <rule ref="rulesets/java/junit.xml">
<!-- enable bellow to push people to write asserts which are easier to understand -->
      <exclude name="JUnitAssertionsShouldIncludeMessage"/>
  </rule>
  <rule ref="rulesets/java/logging-java.xml"/>
  <rule ref="rulesets/java/migrating.xml"/>
  <rule ref="rulesets/java/optimizations.xml">
      <exclude name="AvoidInstantiatingObjectsInLoops"/>
      <!-- Enable the following when we have fever reported warnings -->
      <exclude name="LocalVariableCouldBeFinal"/>
      <exclude name="MethodArgumentCouldBeFinal"/>
  </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">
<!--    <properties>
        <property name="IgnoreJUnitCompletely" value="true"/>
    </properties> -->
  </rule>
  <rule ref="rulesets/java/unusedcode.xml"/>
  <rule ref="rulesets/java/javabeans.xml/MissingSerialVersionUID"/>
  
</ruleset>
