Legoktm has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/398621 )
Change subject: Ignore maintenance scripts in ClassMatchesFilenameSniff ...................................................................... Ignore maintenance scripts in ClassMatchesFilenameSniff Change-Id: I78f03a028539e0313f96534490bf4fcda19160a8 --- M MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php 1 file changed, 29 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/codesniffer refs/changes/21/398621/1 diff --git a/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php b/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php index dea4edf..5b71417 100644 --- a/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php +++ b/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php @@ -50,6 +50,16 @@ $name = $phpcsFile->getDeclarationName( $stackPtr ); if ( $base !== "$name.php" ) { $wrongCase = strtolower( $base ) === strtolower( "$name.php" ); + if ( $wrongCase && $this->isMaintenanceScript( $phpcsFile ) ) { + // Maintenance scripts follow the class name, but the first + // letter is lowercase. + $expected = $name; + $expected[0] = strtolower( $expected[0] ); + if ( $base === "$expected.php" ) { + // OK! + return; + } + } $phpcsFile->addError( "Class name '$name' does not match filename '$base'", $stackPtr, @@ -58,4 +68,23 @@ } } + /** + * Figure out whether the file is a MediaWiki maintenance script + * + * @param File $phpcsFile File being checked + * + * @return bool + */ + private function isMaintenanceScript( File $phpcsFile ) { + foreach ( $phpcsFile->getTokens() as $token ) { + if ( $token['code'] === T_STRING + && $token['content'] === 'RUN_MAINTENANCE_IF_MAIN' + ) { + return true; + } + } + + return false; + } + } -- To view, visit https://gerrit.wikimedia.org/r/398621 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I78f03a028539e0313f96534490bf4fcda19160a8 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/tools/codesniffer Gerrit-Branch: master Gerrit-Owner: Legoktm <lego...@member.fsf.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits