<?xml version="1.0"?>
<ruleset name="AWS SDK for PHP">
    <description>Checks PSR-12 formatting for SDK source files.</description>

    <arg name="colors"/>
    <arg name="extensions" value="php"/>
    <arg name="report" value="full"/>
    <arg name="warning-severity" value="0"/>
    <arg value="s"/>

    <exclude-pattern>*/src/data/*</exclude-pattern>

    <rule ref="PSR12">
        <exclude name="PSR12.ControlStructures.ControlStructureSpacing.FirstExpressionLine"/>
        <exclude name="Squiz.Functions.MultiLineFunctionDeclaration.NewlineBeforeOpenBrace"/>
    </rule>

    <rule ref="./.github/phpcs/AwsSdk/Sniffs/ControlStructures/FirstConditionSameLineSniff.php"/>
    <rule ref="./.github/phpcs/AwsSdk/Sniffs/Functions/MultiLineFunctionDeclarationBraceSniff.php"/>

    <rule ref="PSR12.Files.FileHeader.SpacingAfterBlock">
        <exclude-pattern>*/src/*</exclude-pattern>
    </rule>

    <rule ref="PSR2.Classes.ClassDeclaration.OpenBraceNewLine">
        <exclude-pattern>*/src/*/*Client.php</exclude-pattern>
        <exclude-pattern>*/src/*/Exception/*Exception.php</exclude-pattern>
    </rule>

    <rule ref="Squiz.WhiteSpace.ScopeClosingBrace.ContentBefore">
        <exclude-pattern>*/src/*/*Client.php</exclude-pattern>
        <exclude-pattern>*/src/*/Exception/*Exception.php</exclude-pattern>
    </rule>
</ruleset>
