X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FmergeMessageFileList.php;h=8d2534eec580fa02a5e24906bc591151ea1d98c4;hb=d6b41380f7a71a0d8115bb45ef700c216322a4ce;hp=46d54744785b2e6d3b0aec708b784efcd2b0e755;hpb=4b73a8b6fbb6da651af850a7d667e6e8d59e6fce;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/mergeMessageFileList.php b/maintenance/mergeMessageFileList.php index 46d5474478..8d2534eec5 100644 --- a/maintenance/mergeMessageFileList.php +++ b/maintenance/mergeMessageFileList.php @@ -36,11 +36,6 @@ $mmfl = false; * @ingroup Maintenance */ class MergeMessageFileList extends Maintenance { - /** - * @var bool - */ - protected $hasError; - function __construct() { parent::__construct(); $this->addOption( @@ -81,29 +76,33 @@ class MergeMessageFileList extends Maintenance { # Now find out files in a directory if ( $this->hasOption( 'extensions-dir' ) ) { $extdir = $this->getOption( 'extensions-dir' ); - $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; + # Allow multiple directories to be passed with ":" as delimiter + $extdirs = explode( ':', $extdir ); + $entries = []; + foreach ( $extdirs as $extdir ) { + $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->hasError = true; - $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." ); + } } } } @@ -114,10 +113,6 @@ class MergeMessageFileList extends Maintenance { $mmfl['setupFiles'] = array_merge( $mmfl['setupFiles'], $extensionPaths ); } - if ( $this->hasError ) { - $this->error( "Some files are missing (see above). Giving up.", 1 ); - } - if ( $this->hasOption( 'output' ) ) { $mmfl['output'] = $this->getOption( 'output' ); }