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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits