<?xml version='1.0' encoding="UTF-8"?>
<ruleset name="Mess Detector 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>Mess Detector Rules</description>

    <!--
        Include Code Size rules and adapt properties
        for ExcessiveParameterList, ExcessiveMethodLength,
        ExcessiveClassLength and CyclomaticComplexity
        @see https://phpmd.org/rules/codesize.html
     -->
    <rule ref="rulesets/codesize.xml">
        <exclude name="ExcessiveClassComplexity"/>
    </rule>    
    <!--
        Include Controversial rules
        @see https://phpmd.org/rules/controversial.html
     -->
    <rule ref="rulesets/controversial.xml" />

    <!--
        Include Design rules
        @see https://phpmd.org/rules/design.html
     -->
    <rule ref="rulesets/design.xml"/>

    <!--
        Include Unused code rules
        @see https://phpmd.org/rules/unusedcode.html
     -->
    <rule ref="rulesets/unusedcode.xml"/>

    <!--
       Include Naming rules and adapt ShortVariable and LongVariable
       @see https://phpmd.org/rules/naming.html
    -->
    <rule ref="rulesets/naming.xml">
        <exclude name="ShortVariable"/>
        <exclude name="LongVariable"/>
    </rule>
    <rule ref="rulesets/naming.xml/ShortVariable">
        <properties>
            <property name="minimum" value="3"/>
            <property name="exceptions" value="id,db,in,out"/>
        </properties>
    </rule>
    <rule ref="rulesets/naming.xml/LongVariable">
        <properties>
            <property name="maximum" value="50"/>
        </properties>
    </rule>
</ruleset>
