define( 'MW_NO_EXTENSION_MESSAGES', 1 );
require_once __DIR__ . '/Maintenance.php';
-$maintClass = 'MergeMessageFileList';
+$maintClass = MergeMessageFileList::class;
$mmfl = false;
/**
}
public function execute() {
- // @codingStandardsIgnoreStart Ignore error: Global variable "$mmfl" is lacking 'wg' prefix
+ // phpcs:ignore MediaWiki.NamingConventions.ValidGlobalName.wgPrefix
global $mmfl;
- // @codingStandardsIgnoreEnd
global $wgExtensionEntryPointListFiles;
if ( !count( $wgExtensionEntryPointListFiles )
&& !$this->hasOption( 'list-file' )
&& !$this->hasOption( 'extensions-dir' )
) {
- $this->error( "Either --list-file or --extensions-dir must be provided if " .
- "\$wgExtensionEntryPointListFiles is not set", 1 );
+ $this->fatalError( "Either --list-file or --extensions-dir must be provided if " .
+ "\$wgExtensionEntryPointListFiles is not set" );
}
$mmfl = [ 'setupFiles' => [] ];
$extdir = $this->getOption( 'extensions-dir' );
# Allow multiple directories to be passed with ":" as delimiter
$extdirs = explode( ':', $extdir );
- $entries = [];
foreach ( $extdirs as $extdir ) {
- $entries = array_merge( $entries, scandir( $extdir ) );
- }
- foreach ( $entries as $extname ) {
- if ( $extname == '.' || $extname == '..' || !is_dir( "$extdir/$extname" ) ) {
- continue;
- }
- $possibilities = [
- "$extdir/$extname/extension.json",
- "$extdir/$extname/skin.json",
- "$extdir/$extname/$extname.php"
- ];
- $found = false;
- foreach ( $possibilities as $extfile ) {
- if ( file_exists( $extfile ) ) {
- $mmfl['setupFiles'][] = $extfile;
- $found = true;
- break;
+ $entries = scandir( $extdir );
+ foreach ( $entries as $extname ) {
+ if ( $extname == '.' || $extname == '..' || !is_dir( "$extdir/$extname" ) ) {
+ continue;
+ }
+ $possibilities = [
+ "$extdir/$extname/extension.json",
+ "$extdir/$extname/skin.json",
+ "$extdir/$extname/$extname.php"
+ ];
+ $found = false;
+ foreach ( $possibilities as $extfile ) {
+ if ( file_exists( $extfile ) ) {
+ $mmfl['setupFiles'][] = $extfile;
+ $found = true;
+ break;
+ }
}
- }
- if ( !$found ) {
- $this->error( "Extension {$extname} in {$extdir} lacks expected entry point: " .
- "extension.json, skin.json, or {$extname}.php." );
+ if ( !$found ) {
+ $this->error( "Extension {$extname} in {$extdir} lacks expected entry point: " .
+ "extension.json, skin.json, or {$extname}.php." );
+ }
}
}
}
$files = [];
$fileLines = file( $fileName );
if ( $fileLines === false ) {
- $this->hasError = true;
$this->error( "Unable to open list file $fileName." );
return $files;
if ( file_exists( $extension ) ) {
$files[] = $extension;
} else {
- $this->hasError = true;
$this->error( "Extension {$extension} doesn't exist" );
}
}
require_once RUN_MAINTENANCE_IF_MAIN;
$queue = [];
+'@phan-var string[][] $mmfl';
foreach ( $mmfl['setupFiles'] as $fileName ) {
if ( strval( $fileName ) === '' ) {
continue;
fwrite( STDERR, "\n" );
$s =
- "<" . "?php\n" .
+ "<?php\n" .
"## This file is generated by mergeMessageFileList.php. Do not edit it directly.\n\n" .
"if ( defined( 'MW_NO_EXTENSION_MESSAGES' ) ) return;\n\n" .
'$wgExtensionMessagesFiles = ' . var_export( $wgExtensionMessagesFiles, true ) . ";\n\n" .