<?xml version="1.0"?>

<ruleset name="Atrapalo Rules"
         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>
        This ruleset contains a collection of rules.
    </description>

    <rule ref="rulesets/controversial.xml" />

    <rule ref="rulesets/codesize.xml">
        <exclude name="TooManyMethods" />
        <exclude name="CyclomaticComplexity" />
        <exclude name="ExcessiveParameterList" />
    </rule>

    <rule ref="rulesets/codesize.xml/TooManyMethods">
        <properties>
            <property name="maxmethods" value="20" /><!-- Default: 10 -->
        </properties>
    </rule>

    <rule ref="rulesets/codesize.xml/CyclomaticComplexity">
        <properties>
            <property name="reportLevel" value="15" /><!-- Default: 10 -->
        </properties>
    </rule>

    <rule ref="rulesets/unusedcode.xml">
        <exclude name="UnusedFormalParameter" />
        <!-- Priority 1 -->
        <exclude name="UnusedPrivateField" />
        <exclude name="UnusedLocalVariable" />
        <exclude name="UnusedPrivateMethod" />
    </rule>

    <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"><priority>1</priority></rule>
    <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"><priority>1</priority></rule>
    <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"><priority>1</priority></rule>


    <rule ref="rulesets/design.xml" />

    <rule ref="rulesets/naming.xml">
        <exclude name="LongVariable" />
        <exclude name="ShortVariable" />
        <exclude name="ShortMethodName" />
    </rule>

    <rule ref="rulesets/naming.xml/ShortVariable">
        <priority>1</priority>
        <properties>
            <property name="minimum" value="2" /><!-- Default: 3 -->
        </properties>
    </rule>

    <rule ref="rulesets/naming.xml/LongVariable">
        <priority>2</priority>
        <properties>
            <property name="maximum" value="50" /><!-- Default: 20 -->
        </properties>
    </rule>
</ruleset>
