wikimedia/mediawiki-core

View on GitHub
.phpcs.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0"?>
<ruleset name="MediaWiki">
    <rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
        <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" />
        <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected" />
        <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
        <exclude name="MediaWiki.Commenting.FunctionComment.WrongStyle" />
        <exclude name="MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate" />
        <exclude name="MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationProtected" />
        <exclude name="MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPublic" />
        <exclude name="MediaWiki.Commenting.PropertyDocumentation.MissingVar" />
        <exclude name="MediaWiki.Commenting.PropertyDocumentation.SpacingAfter" />
        <exclude name="MediaWiki.Commenting.PropertyDocumentation.WrongStyle" />
        <exclude name="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName" />
        <exclude name="MediaWiki.Usage.DeprecatedGlobalVariables.Deprecated$wgTitle" />
        <exclude name="MediaWiki.Usage.ExtendClassUsage.FunctionVarUsage" />
        <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
        <exclude name="Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition" />
        <exclude name="Generic.CodeAnalysis.AssignmentInCondition.Found" />
        <exclude name="MediaWiki.WhiteSpace.SpaceBeforeClassBrace.BraceNotOnOwnLine" />
        <exclude name="PSR2.Classes.PropertyDeclaration.Multiple" />
    </rule>
    <rule ref="MediaWiki.NamingConventions.ValidGlobalName">
        <properties>
            <property name="ignoreList" type="array" value="$IP" />
        </properties>
    </rule>
    <rule ref="MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix">
        <exclude-pattern>*/maintenance/doMaintenance\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/CommandLineInc\.php</exclude-pattern>
    </rule>
    <rule ref="Generic.Files.LineLength">
        <exclude-pattern>*/languages/messages/*</exclude-pattern>
        <exclude-pattern>*/tests/*</exclude-pattern>
    </rule>
    <rule ref="MediaWiki.Files.ClassMatchesFilename.NotMatch">
        <!--
            Continue to allow existing violations, but enable the sniff to prevent
            any new occurrences.
        -->
        <exclude-pattern>*/maintenance/cleanupTitles\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/edit\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/findDeprecated\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/getText\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/importDump\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/install\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/jsparse\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/lag\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/language/StatOutputs\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/language/date-formats\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/mysql\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/parse\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/rebuildImages\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/renderDump\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/shell\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/sql\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/update\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/userOptions\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/view\.php</exclude-pattern>
        <!-- Skip violations in some tests for now -->
        <exclude-pattern>*/tests/parser/*</exclude-pattern>
        <exclude-pattern>*/tests/phpunit/maintenance/*</exclude-pattern>
        <exclude-pattern>*/tests/phpunit/bootstrap\.php</exclude-pattern>
        <exclude-pattern>*/tests/phpunit/phpunit\.php</exclude-pattern>
    </rule>
    <rule ref="MediaWiki.Files.ClassMatchesFilename.WrongCase">
        <!--
            Continue to allow existing violations, but enable the sniff to prevent
            any new occurrences.
        -->
        <exclude-pattern>*/maintenance/language/alltrans\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/language/digit2html\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/language/langmemusage\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/mctest\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/mwdocgen\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/rebuildall\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/rebuildmessages\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/rebuildrecentchanges\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/rebuildtextindex\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/storage/checkStorage\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/storage/recompressTracked\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/storage/trackBlobs\.php</exclude-pattern>
    </rule>
    <rule ref="Generic.PHP.NoSilencedErrors.Discouraged">
        <exclude-pattern>*/tests/*</exclude-pattern>
    </rule>
    <rule ref="Generic.Files.OneObjectStructurePerFile.MultipleFound">
        <!--
            Continue to allow existing violations, but enable the sniff to prevent
            any new occurrences.
        -->
        <exclude-pattern>*/maintenance/dumpIterator\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/findDeprecated\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/storage/recompressTracked\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/language/StatOutputs\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/language/generateCollationData\.php</exclude-pattern>
        <!-- We don't care that much about violations in tests -->
        <exclude-pattern>*/tests/*</exclude-pattern>
    </rule>
    <rule ref="MediaWiki.Usage.AssignmentInReturn.AssignmentInReturn">
        <exclude-pattern>*/tests/phpunit/*</exclude-pattern>
    </rule>
    <rule ref="MediaWiki.Usage.ForbiddenFunctions.popen">
        <!--
            Continue to allow existing violations, but enable the sniff to prevent
            any new occurrences.
        -->
        <exclude-pattern>*/includes/GlobalFunctions\.php</exclude-pattern>
        <exclude-pattern>*/includes/libs/filebackend/FSFileBackend\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/includes/SevenZipStream\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/populateImageSha1\.php</exclude-pattern>
    </rule>
    <rule ref="MediaWiki.Usage.ForbiddenFunctions.proc_open">
        <!--
            Continue to allow existing violations, but enable the sniff to prevent
            any new occurrences.
        -->
        <exclude-pattern>*/includes/export/DumpPipeOutput\.php</exclude-pattern>
        <exclude-pattern>*/includes/ResourceLoader/Image\.php</exclude-pattern>
        <exclude-pattern>*/includes/shell/Command\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/includes/TextPassDumper\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/mysql\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/storage/recompressTracked\.php</exclude-pattern>
        <exclude-pattern>*/tests/parser/editTests\.php</exclude-pattern>
    </rule>
    <rule ref="MediaWiki.Usage.ForbiddenFunctions.shell_exec">
        <!--
            Continue to allow existing violations, but enable the sniff to prevent
            any new occurrences.
        -->
        <exclude-pattern>*/maintenance/mwdocgen\.php</exclude-pattern>
        <exclude-pattern>*/maintenance/updateCredits\.php</exclude-pattern>
    </rule>
    <rule ref="MediaWiki.Usage.ForbiddenFunctions.system">
        <!--
            Continue to allow existing violations, but enable the sniff to prevent
            any new occurrences.
        -->
        <exclude-pattern>*/maintenance/mwdocgen\.php</exclude-pattern>
    </rule>
    <rule ref="Generic.Arrays.DisallowShortArraySyntax">
        <!--
            T273340: Rule not to be enabled on any other file.
            PHPVersionCheck.php requires syntax to be old PHP compatible.
            The rest should therefore use [] rather than array() as per the
            MediaWiki style guide.
        -->
        <include-pattern>includes/PHPVersionCheck\.php</include-pattern>
    </rule>
    <file>.</file>
    <arg name="encoding" value="UTF-8"/>
    <arg name="extensions" value="php"/>
    <exclude-pattern type="relative">^(extensions|skins)/*</exclude-pattern>
    <exclude-pattern type="relative">^docs/(coverage|html|js|latex)/*</exclude-pattern>
    <exclude-pattern>LocalSettings(-installer)?\.php</exclude-pattern>
</ruleset>