X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FconvertExtensionToRegistration.php;h=a09ca5ceb51890a305258092281939ea0e947780;hb=62903326b11019a2189ce90d4ea3edd791d0b45e;hp=4ae95587030b64ae04cba34a93af653b6536175d;hpb=16c80e429be5904fb42a93f260f8de3d18f0c692;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/convertExtensionToRegistration.php b/maintenance/convertExtensionToRegistration.php index 4ae9558703..a09ca5ceb5 100644 --- a/maintenance/convertExtensionToRegistration.php +++ b/maintenance/convertExtensionToRegistration.php @@ -13,13 +13,13 @@ class ConvertExtensionToRegistration extends Maintenance { 'ResourceModuleSkinStyles' => 'handleResourceModules', 'Hooks' => 'handleHooks', 'ExtensionFunctions' => 'handleExtensionFunctions', - 'ParserTestFiles' => 'removeAbsolutePath', + 'ParserTestFiles' => 'removeAutodiscoveredParserTestFiles', ]; /** * Things that were formerly globals and should still be converted * - * @var array + * @var string[] */ protected $formerGlobals = [ 'TrackingCategories', @@ -28,7 +28,7 @@ class ConvertExtensionToRegistration extends Maintenance { /** * No longer supported globals (with reason) should not be converted and emit a warning * - * @var array + * @var string[] */ protected $noLongerSupportedGlobals = [ 'SpecialPageGroups' => 'deprecated', // Deprecated 1.21, removed in 1.26 @@ -37,7 +37,7 @@ class ConvertExtensionToRegistration extends Maintenance { /** * Keys that should be put at the top of the generated JSON file (T86608) * - * @var array + * @var string[] */ protected $promote = [ 'name', @@ -222,6 +222,22 @@ class ConvertExtensionToRegistration extends Maintenance { $this->json[$realName] = $out; } + protected function removeAutodiscoveredParserTestFiles( $realName, $value ) { + $out = []; + foreach ( $value as $key => $val ) { + $path = $this->stripPath( $val, $this->dir ); + // When path starts with tests/parser/ the file would be autodiscovered with + // extension registry, so no need to add it to extension.json + if ( substr( $path, 0, 13 ) !== 'tests/parser/' || substr( $path, -4 ) !== '.txt' ) { + $out[$key] = $path; + } + } + // in the best case all entries are filtered out + if ( $out ) { + $this->json[$realName] = $out; + } + } + protected function handleCredits( $realName, $value ) { $keys = array_keys( $value ); $this->json['type'] = $keys[0];