<?xml version="1.0"?>
<ruleset name="Coding Standards for SDK">
	<description>PSR-2 + docs</description>

	<file>./source</file>
	<file>./tests</file>

	<arg name="colors"/>

	<rule ref="PSR2"/>

	<rule ref="Generic.Arrays.DisallowShortArraySyntax"/>
	<rule ref="Generic.Classes.DuplicateClassName"/>
	<rule ref="Generic.Commenting">
		<exclude name="Generic.Commenting.DocComment"/>
	</rule>
	<rule ref="Generic.ControlStructures"/>
	<rule ref="Generic.Debug"/>
	<rule ref="Generic.Files">
		<exclude name="Generic.Files.EndFileNoNewline"/>
		<exclude name="Generic.Files.LowercasedFilename"/>
	</rule>
	<rule ref="Generic.Formatting">
		<exclude name="Generic.Formatting.NoSpaceAfterCast"/>
		<exclude name="Generic.Formatting.SpaceAfterNot"/>
	</rule>
	<rule ref="Generic.Functions.FunctionCallArgumentSpacing"/>
	<rule ref="Generic.Metrics"/>
	<rule ref="Generic.NamingConventions"/>
	<rule ref="Generic.NamingConventions.CamelCapsFunctionName">
		<properties>
			<property name="strict" value="false"/>
		</properties>
	</rule>
	<rule ref="Generic.PHP">
		<exclude name="Generic.PHP.ClosingPHPTag"/>
		<exclude name="Generic.PHP.UpperCaseConstant"/>
	</rule>
	<rule ref="Generic.Strings"/>
	<rule ref="Generic.WhiteSpace.DisallowTabIndent"/>

	<rule ref="Squiz.Classes"/>

	<rule ref="Squiz.Commenting.DocCommentAlignment"/>
	<rule ref="Squiz.Commenting.VariableComment"/>
	<rule ref="Squiz.ControlStructures">
		<exclude name="Squiz.ControlStructures.ElseIfDeclaration"/>
		<exclude name="Squiz.ControlStructures.ControlSignature"/>
	</rule>
</ruleset>
