jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/398621 )
Change subject: Ignore maintenance scripts in ClassMatchesFilenameSniff
......................................................................
Ignore maintenance scripts in ClassMatchesFilenameSniff
Bug: T178725
Change-Id: I78f03a028539e0313f96534490bf4fcda19160a8
---
M MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php
1 file changed, 28 insertions(+), 0 deletions(-)
Approvals:
MaxSem: Looks good to me, approved
jenkins-bot: Verified
diff --git a/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php
b/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php
index dea4edf..3ca3a2d 100644
--- a/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php
+++ b/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php
@@ -50,6 +50,15 @@
$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 = lcfirst( $name );
+ if ( $base === "$expected.php" ) {
+ // OK!
+ return;
+ }
+ }
$phpcsFile->addError(
"Class name '$name' does not match filename
'$base'",
$stackPtr,
@@ -58,4 +67,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: merged
Gerrit-Change-Id: I78f03a028539e0313f96534490bf4fcda19160a8
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/tools/codesniffer
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: MaxSem <[email protected]>
Gerrit-Reviewer: Umherirrender <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits