<?xml version="1.0"?>
<ruleset name="Wordpress PHPMD ruleset"
		 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 plugin
	</description>
	<rule ref="rulesets/cleancode.xml">
		<!-- To allow static access to the \Firebase\JWT\JWT class -->
		<exclude name="StaticAccess" />
	</rule>
	<rule ref="rulesets/unusedcode.xml"></rule>
	<rule ref="rulesets/codesize.xml">
		<!-- The settings class needs more than 10 public methods-->
		<exclude name="TooManyPublicMethods"></exclude>
	</rule>
	<rule ref="rulesets/naming.xml">
		<!-- We use descriptive variables with more than 20 characters -->
		<exclude name="LongVariable"></exclude>
	</rule>
	<rule ref="rulesets/naming.xml/LongVariable">
		<properties>
			<property name="maximum" value="40"></property>
		</properties>
	</rule>
	<rule ref="rulesets/design.xml">
		<!-- The Loader class requires more than 13 dependencies to instantiate the plug-in's main classes -->
		<exclude name="CouplingBetweenObjects"></exclude>
	</rule>

    <exclude-pattern>/tests/*</exclude-pattern>
    <!-- Exclude the Composer Vendor directory. -->
    <exclude-pattern>/vendor/*</exclude-pattern>
    <!-- Exclude the Node Modules directory. -->
    <exclude-pattern>/node_modules/*</exclude-pattern>
    <!-- Exclude minified Javascript files. -->
    <exclude-pattern>*.min.js</exclude-pattern>
</ruleset>
