I have those rules:
<rule ref="SlevomatCodingStandard.Namespaces.UseOnlyWhitelistedNamespaces">
<include-pattern>/src/Module/Quotes/Adapter/Incoming/</include-pattern>
<properties>
<property name="namespacesRequiredToUse" type="array">
<element value="AppModuleQuotesDomain"/>
<element value="Psr"/>
</property>
<property name="allowUseFromRootNamespace" value="true"/>
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Namespaces.UseOnlyWhitelistedNamespaces">
<include-pattern>/src/Module/DemandPartners/Adapter/Incoming/</include-pattern>
<properties>
<property name="namespacesRequiredToUse" type="array">
<element value="AppModuleDemandPartnersDomain"/>
<element value="Psr"/>
</property>
<property name="allowUseFromRootNamespace" value="true"/>
</properties>
</rule>
It returns some messages that point issues in src/Module/Quotes/Adapter/Incoming/...
files.
But when I reverse the order:
<rule ref="SlevomatCodingStandard.Namespaces.UseOnlyWhitelistedNamespaces">
<include-pattern>/src/Module/DemandPartners/Adapter/Incoming/</include-pattern>
<properties>
<property name="namespacesRequiredToUse" type="array">
<element value="AppModuleDemandPartnersDomain"/>
<element value="Psr"/>
</property>
<property name="allowUseFromRootNamespace" value="true"/>
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Namespaces.UseOnlyWhitelistedNamespaces">
<include-pattern>/src/Module/Quotes/Adapter/Incoming/</include-pattern>
<properties>
<property name="namespacesRequiredToUse" type="array">
<element value="AppModuleQuotesDomain"/>
<element value="Psr"/>
</property>
<property name="allowUseFromRootNamespace" value="true"/>
</properties>
</rule>
It points to files in src/Module/DemandPartners/Adapter/Incoming
directory.
It looks like the configuration at the bottom overwrites the configuration on the top.
How can I fix that? I would like to have different rules configurations for each directory.