<?xml version="1.0"?>
<ruleset name="OnlineStatusInSL Plugin"
		 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>Rules for WordPress plugins</description>

	<!-- do not check for old code, which will be hopelessly messy (gwyneth 20220425) -->
	<exclude-pattern>*/tags/*</exclude-pattern>

	<!-- Import the entire unused code rule set -->
	<rule ref="rulesets/unusedcode.xml" />

	<!--
		Import the entire cyclomatic complexity rule and
		customize the rule configuration.
	-->
	<rule ref="rulesets/codesize.xml/CyclomaticComplexity">
		<priority>1</priority>
		<properties>
			<property name="reportLevel" value="5" />
		</properties>
	</rule>

	<!-- Import entire naming rule set and exclude rules -->
	<rule ref="rulesets/naming.xml">
		<exclude name="ShortVariable" />
		<exclude name="LongVariable" />
	</rule>

	<!-- Import entire clean code rule set, modify StaticAccess rule -->
	<rule ref="rulesets/cleancode.xml">
		<exclude name="StaticAccess" />
	</rule>
	<rule ref="rulesets/cleancode.xml/StaticAccess">
		<properties>
			<property name="exceptions">
				<value>
				  \DateTime,
				  \DateInterval,
				  \DateTimeZone
				</value>
			</property>
		</properties>
	</rule>

	<!-- Import entire design rule set -->
	<rule ref="rulesets/design.xml" />

	<!-- For WordPress, do NOT include the controversial.xml ruleset! -->
</ruleset>