<?xml version="1.0"?>
<ruleset name="phpmd.xml"
		 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>PHPMD Ruleset for a WordPress Theme</description>
	<rule ref="rulesets/cleancode.xml/BooleanArgumentFlag"/>
	<rule ref="rulesets/cleancode.xml/ElseExpression"/>
	<rule ref="rulesets/cleancode.xml/StaticAccess"/>
	<!-- Temporarily disabled as PHPMD seems to have a bug for this rule -->
	<!-- <rule ref="rulesets/cleancode.xml/NestedScopes" /> -->
	<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>
	<rule ref="rulesets/codesize.xml/NPathComplexity"/>
	<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>
	<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>
	<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>
	<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>
	<rule ref="rulesets/codesize.xml/TooManyFields"/>
	<rule ref="rulesets/codesize.xml/TooManyMethods"/>
	<rule ref="rulesets/codesize.xml/ExcessiveClassComplexity"/>
	<!-- Too controversial! -->
	<!-- <rule ref="rulesets/controversial.xml/Superglobals" /> -->
	<rule ref="rulesets/design.xml/ExitExpression"/>
	<rule ref="rulesets/design.xml/EvalExpression"/>
	<rule ref="rulesets/design.xml/GotoStatement"/>
	<rule ref="rulesets/design.xml/NumberOfChildren"/>
	<rule ref="rulesets/design.xml/DepthOfInheritance"/>
	<rule ref="rulesets/design.xml/CouplingBetweenObjects"/>
	<rule ref="rulesets/naming.xml/ShortVariable"/>
	<rule ref="rulesets/naming.xml/LongVariable">
		<properties>
			<property name="maximum" value="35"/>
		</properties>
	</rule>
	<rule ref="rulesets/naming.xml/ShortMethodName">
		<properties>
			<property name="minimum" value="2"/>
		</properties>
	</rule>
	<rule ref="rulesets/naming.xml/ConstructorWithNameAsEnclosingClass"/>
	<rule ref="rulesets/naming.xml/ConstantNamingConventions"/>
	<rule ref="rulesets/naming.xml/BooleanGetMethodName"/>
	<rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
	<rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
	<rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
	<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>
</ruleset>
