diff --git a/RELEASE-NOTES-1.43 b/RELEASE-NOTES-1.43 index 1414540f881..dbabf8cad92 100644 --- a/RELEASE-NOTES-1.43 +++ b/RELEASE-NOTES-1.43 @@ -393,6 +393,15 @@ because of Phabricator reports. - XMLRCFeedFormatter - MediaWiki\RenameUser: - RenameUserJob + - MediaWiki\Registration: + - ExtensionDependencyError + - ExtensionJsonValidationError + - ExtensionJsonValidator + - ExtensionProcessor + - ExtensionRegistry + - MissingExtensionException + - Processor + - VersionChecker - MediaWiki\RevisionList: - RevisionItem - RevisionItemBase diff --git a/autoload.php b/autoload.php index b04fc299f11..872fe0f807c 100644 --- a/autoload.php +++ b/autoload.php @@ -1938,6 +1938,14 @@ $wgAutoloadLocalClasses = [ 'MediaWiki\\RCFeed\\RedisPubSubFeedEngine' => __DIR__ . '/includes/rcfeed/RedisPubSubFeedEngine.php', 'MediaWiki\\RCFeed\\UDPRCFeedEngine' => __DIR__ . '/includes/rcfeed/UDPRCFeedEngine.php', 'MediaWiki\\RCFeed\\XMLRCFeedFormatter' => __DIR__ . '/includes/rcfeed/XMLRCFeedFormatter.php', + 'MediaWiki\\Registration\\ExtensionDependencyError' => __DIR__ . '/includes/registration/ExtensionDependencyError.php', + 'MediaWiki\\Registration\\ExtensionJsonValidationError' => __DIR__ . '/includes/registration/ExtensionJsonValidationError.php', + 'MediaWiki\\Registration\\ExtensionJsonValidator' => __DIR__ . '/includes/registration/ExtensionJsonValidator.php', + 'MediaWiki\\Registration\\ExtensionProcessor' => __DIR__ . '/includes/registration/ExtensionProcessor.php', + 'MediaWiki\\Registration\\ExtensionRegistry' => __DIR__ . '/includes/registration/ExtensionRegistry.php', + 'MediaWiki\\Registration\\MissingExtensionException' => __DIR__ . '/includes/registration/MissingExtensionException.php', + 'MediaWiki\\Registration\\Processor' => __DIR__ . '/includes/registration/Processor.php', + 'MediaWiki\\Registration\\VersionChecker' => __DIR__ . '/includes/registration/VersionChecker.php', 'MediaWiki\\RenameUser\\Hook\\RenameUserAbortHook' => __DIR__ . '/includes/RenameUser/Hook/RenameUserAbortHook.php', 'MediaWiki\\RenameUser\\Hook\\RenameUserCompleteHook' => __DIR__ . '/includes/RenameUser/Hook/RenameUserCompleteHook.php', 'MediaWiki\\RenameUser\\Hook\\RenameUserPreRenameHook' => __DIR__ . '/includes/RenameUser/Hook/RenameUserPreRenameHook.php', diff --git a/includes/Category/TrackingCategories.php b/includes/Category/TrackingCategories.php index 83f5d933c40..9bdc0b6371a 100644 --- a/includes/Category/TrackingCategories.php +++ b/includes/Category/TrackingCategories.php @@ -21,13 +21,13 @@ namespace MediaWiki\Category; -use ExtensionRegistry; use MediaWiki\Config\ServiceOptions; use MediaWiki\Linker\LinkTarget; use MediaWiki\MainConfigNames; use MediaWiki\Page\PageReference; use MediaWiki\Parser\Parser; use MediaWiki\Parser\ParserOutput; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Title\NamespaceInfo; use MediaWiki\Title\Title; use MediaWiki\Title\TitleParser; diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php index 39de6c1fc7d..6b844024747 100644 --- a/includes/GlobalFunctions.php +++ b/includes/GlobalFunctions.php @@ -27,6 +27,7 @@ use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; use MediaWiki\Message\Message; use MediaWiki\ProcOpenError; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Request\WebRequest; use MediaWiki\Shell\Shell; use MediaWiki\StubObject\StubUserLang; diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php index 2976551744a..ff96203bf32 100644 --- a/includes/MediaWikiServices.php +++ b/includes/MediaWikiServices.php @@ -22,7 +22,6 @@ namespace MediaWiki; use CryptHKDF; use DateFormatterFactory; -use ExtensionRegistry; use ExternalStoreAccess; use ExternalStoreFactory; use IBufferingStatsdDataFactory; @@ -132,6 +131,7 @@ use MediaWiki\Permissions\RestrictionStore; use MediaWiki\PoolCounter\PoolCounterFactory; use MediaWiki\Preferences\PreferencesFactory; use MediaWiki\Preferences\SignatureValidatorFactory; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Request\ProxyLookup; use MediaWiki\ResourceLoader\ResourceLoader; use MediaWiki\Rest\Handler\Helper\PageRestHelperFactory; diff --git a/includes/Output/OutputPage.php b/includes/Output/OutputPage.php index 34df87fddd3..3e01ef76795 100644 --- a/includes/Output/OutputPage.php +++ b/includes/Output/OutputPage.php @@ -26,7 +26,6 @@ use Article; use Content; use CSSJanus; use Exception; -use ExtensionRegistry; use File; use HtmlArmor; use InvalidArgumentException; @@ -54,6 +53,7 @@ use MediaWiki\Parser\ParserOutput; use MediaWiki\Parser\ParserOutputFlags; use MediaWiki\Parser\Sanitizer; use MediaWiki\Permissions\PermissionStatus; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Request\ContentSecurityPolicy; use MediaWiki\Request\FauxRequest; use MediaWiki\Request\WebRequest; diff --git a/includes/ResourceLoader/CodexModule.php b/includes/ResourceLoader/CodexModule.php index a4a936a5b5c..2f91ca6313d 100644 --- a/includes/ResourceLoader/CodexModule.php +++ b/includes/ResourceLoader/CodexModule.php @@ -20,12 +20,12 @@ namespace MediaWiki\ResourceLoader; -use ExtensionRegistry; use InvalidArgumentException; use MediaWiki\Config\Config; use MediaWiki\Html\Html; use MediaWiki\Html\HtmlJsCode; use MediaWiki\MainConfigNames; +use MediaWiki\Registration\ExtensionRegistry; /** * Module for codex that has direction-specific style files and a static helper diff --git a/includes/ResourceLoader/FileModule.php b/includes/ResourceLoader/FileModule.php index 0a9da8b6fe4..7f0626be20d 100644 --- a/includes/ResourceLoader/FileModule.php +++ b/includes/ResourceLoader/FileModule.php @@ -24,7 +24,6 @@ namespace MediaWiki\ResourceLoader; use CSSJanus; use Exception; -use ExtensionRegistry; use FileContentsHasher; use InvalidArgumentException; use LogicException; @@ -32,6 +31,7 @@ use MediaWiki\Languages\LanguageFallback; use MediaWiki\MainConfigNames; use MediaWiki\MediaWikiServices; use MediaWiki\Output\OutputPage; +use MediaWiki\Registration\ExtensionRegistry; use RuntimeException; use Wikimedia\Minify\CSSMin; use Wikimedia\RequestTimeout\TimeoutException; diff --git a/includes/ResourceLoader/OOUIModule.php b/includes/ResourceLoader/OOUIModule.php index 84363dade8b..b073fd8afcd 100644 --- a/includes/ResourceLoader/OOUIModule.php +++ b/includes/ResourceLoader/OOUIModule.php @@ -20,8 +20,8 @@ namespace MediaWiki\ResourceLoader; -use ExtensionRegistry; use InvalidArgumentException; +use MediaWiki\Registration\ExtensionRegistry; /** * Convenience methods for dealing with OOUI themes and their relations to MW skins. diff --git a/includes/ResourceLoader/ResourceLoader.php b/includes/ResourceLoader/ResourceLoader.php index 3cb404939aa..db62ce14eea 100644 --- a/includes/ResourceLoader/ResourceLoader.php +++ b/includes/ResourceLoader/ResourceLoader.php @@ -23,7 +23,6 @@ namespace MediaWiki\ResourceLoader; use Exception; -use ExtensionRegistry; use HttpStatus; use InvalidArgumentException; use Less_Environment; @@ -39,6 +38,7 @@ use MediaWiki\MainConfigNames; use MediaWiki\MediaWikiServices; use MediaWiki\Output\OutputPage; use MediaWiki\Profiler\ProfilingContext; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Request\HeaderCallback; use MediaWiki\Request\WebRequest; use MediaWiki\Title\Title; diff --git a/includes/Rest/EntryPoint.php b/includes/Rest/EntryPoint.php index 793272fb413..517767640f4 100644 --- a/includes/Rest/EntryPoint.php +++ b/includes/Rest/EntryPoint.php @@ -2,7 +2,6 @@ namespace MediaWiki\Rest; -use ExtensionRegistry; use MediaWiki\Config\Config; use MediaWiki\Config\ServiceOptions; use MediaWiki\Context\IContextSource; @@ -11,6 +10,7 @@ use MediaWiki\EntryPointEnvironment; use MediaWiki\MainConfigNames; use MediaWiki\MediaWikiEntryPoint; use MediaWiki\MediaWikiServices; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Rest\BasicAccess\CompoundAuthorizer; use MediaWiki\Rest\BasicAccess\MWBasicAuthorizer; use MediaWiki\Rest\Reporter\MWErrorReporter; diff --git a/includes/Rest/Handler/ParsoidHandler.php b/includes/Rest/Handler/ParsoidHandler.php index 8fbd03b2620..f7337b99aaf 100644 --- a/includes/Rest/Handler/ParsoidHandler.php +++ b/includes/Rest/Handler/ParsoidHandler.php @@ -20,7 +20,6 @@ namespace MediaWiki\Rest\Handler; use Composer\Semver\Semver; -use ExtensionRegistry; use InvalidArgumentException; use LanguageCode; use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface; @@ -32,6 +31,7 @@ use MediaWiki\MainConfigNames; use MediaWiki\MediaWikiServices; use MediaWiki\Page\PageIdentity; use MediaWiki\Page\ProperPageIdentity; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Rest\Handler; use MediaWiki\Rest\Handler\Helper\HtmlInputTransformHelper; use MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper; diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 4bb8bb26ada..5077d910e42 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -169,6 +169,7 @@ use MediaWiki\Preferences\DefaultPreferencesFactory; use MediaWiki\Preferences\PreferencesFactory; use MediaWiki\Preferences\SignatureValidator; use MediaWiki\Preferences\SignatureValidatorFactory; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Request\ProxyLookup; use MediaWiki\Request\WebRequest; use MediaWiki\ResourceLoader\MessageBlobStore; diff --git a/includes/Settings/SettingsBuilder.php b/includes/Settings/SettingsBuilder.php index 70c6fbc09ae..f36b86d503e 100644 --- a/includes/Settings/SettingsBuilder.php +++ b/includes/Settings/SettingsBuilder.php @@ -2,12 +2,12 @@ namespace MediaWiki\Settings; -use ExtensionRegistry; use MediaWiki\Config\Config; use MediaWiki\Config\HashConfig; use MediaWiki\Config\IterableConfig; use MediaWiki\HookContainer\HookContainer; use MediaWiki\MainConfigNames; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Settings\Cache\CacheableSource; use MediaWiki\Settings\Cache\CachedSource; use MediaWiki\Settings\Config\ConfigBuilder; diff --git a/includes/Setup.php b/includes/Setup.php index cdbca813000..71d98872339 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -62,6 +62,8 @@ use MediaWiki\MainConfigNames; use MediaWiki\MainConfigSchema; use MediaWiki\MediaWikiServices; use MediaWiki\Message\Message; +use MediaWiki\Registration\ExtensionRegistry; +use MediaWiki\Registration\MissingExtensionException; use MediaWiki\Request\HeaderCallback; use MediaWiki\Settings\DynamicDefaultValues; use MediaWiki\Settings\LocalSettingsLoader; diff --git a/includes/api/ApiBase.php b/includes/api/ApiBase.php index ad6991a0ac2..933b125b882 100644 --- a/includes/api/ApiBase.php +++ b/includes/api/ApiBase.php @@ -35,6 +35,7 @@ use MediaWiki\ParamValidator\TypeDef\NamespaceDef; use MediaWiki\Permissions\Authority; use MediaWiki\Permissions\PermissionManager; use MediaWiki\Permissions\PermissionStatus; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Specials\SpecialVersion; use MediaWiki\Status\Status; use MediaWiki\Title\Title; diff --git a/includes/api/ApiQuerySiteinfo.php b/includes/api/ApiQuerySiteinfo.php index b864ada29c6..5ad6be55d11 100644 --- a/includes/api/ApiQuerySiteinfo.php +++ b/includes/api/ApiQuerySiteinfo.php @@ -27,6 +27,7 @@ use MediaWiki\Languages\LanguageNameUtils; use MediaWiki\MainConfigNames; use MediaWiki\MediaWikiServices; use MediaWiki\Parser\MagicWordFactory; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\ResourceLoader\SkinModule; use MediaWiki\SiteStats\SiteStats; use MediaWiki\SpecialPage\SpecialPage; diff --git a/includes/installer/DatabaseUpdater.php b/includes/installer/DatabaseUpdater.php index 254dd4b94f2..ee2fdee9dda 100644 --- a/includes/installer/DatabaseUpdater.php +++ b/includes/installer/DatabaseUpdater.php @@ -27,7 +27,6 @@ use AddRFCandPMIDInterwiki; use AutoLoader; use CleanupEmptyCategories; use DeleteDefaultMessages; -use ExtensionRegistry; use FakeMaintenance; use FixDefaultJsonContentPages; use LogicException; @@ -37,6 +36,7 @@ use MediaWiki\HookContainer\HookRunner; use MediaWiki\HookContainer\StaticHookRegistry; use MediaWiki\MainConfigNames; use MediaWiki\MediaWikiServices; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\ResourceLoader\MessageBlobStore; use MediaWiki\SiteStats\SiteStatsInit; use MigrateLinksTable; diff --git a/includes/installer/Installer.php b/includes/installer/Installer.php index 4eed2450d0e..a58d05f5fef 100644 --- a/includes/installer/Installer.php +++ b/includes/installer/Installer.php @@ -29,9 +29,6 @@ namespace MediaWiki\Installer; use AutoLoader; use Exception; use ExecutableFinder; -use ExtensionDependencyError; -use ExtensionProcessor; -use ExtensionRegistry; use GuzzleHttp\Psr7\Header; use IntlChar; use InvalidArgumentException; @@ -51,6 +48,9 @@ use MediaWiki\MainConfigNames; use MediaWiki\MainConfigSchema; use MediaWiki\MediaWikiServices; use MediaWiki\Parser\Parser; +use MediaWiki\Registration\ExtensionDependencyError; +use MediaWiki\Registration\ExtensionProcessor; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Settings\SettingsBuilder; use MediaWiki\Status\Status; use MediaWiki\StubObject\StubGlobalUser; diff --git a/includes/parser/Parsoid/LintErrorChecker.php b/includes/parser/Parsoid/LintErrorChecker.php index d70bb959704..96bb9c1f275 100644 --- a/includes/parser/Parsoid/LintErrorChecker.php +++ b/includes/parser/Parsoid/LintErrorChecker.php @@ -3,10 +3,10 @@ namespace MediaWiki\Parser\Parsoid; -use ExtensionRegistry; use MediaWiki\Config\Config; use MediaWiki\Content\WikitextContent; use MediaWiki\Parser\Parsoid\Config\PageConfigFactory; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Revision\MutableRevisionRecord; use MediaWiki\Revision\SlotRecord; use MediaWiki\Title\TitleFactory; diff --git a/includes/registration/ExtensionDependencyError.php b/includes/registration/ExtensionDependencyError.php index 0cfebf47dab..08700333590 100644 --- a/includes/registration/ExtensionDependencyError.php +++ b/includes/registration/ExtensionDependencyError.php @@ -17,6 +17,10 @@ * @file */ +namespace MediaWiki\Registration; + +use Exception; + /** * @newable * @since 1.31 @@ -105,3 +109,6 @@ class ExtensionDependencyError extends Exception { } } + +/** @deprecated class alias since 1.43 */ +class_alias( ExtensionDependencyError::class, 'ExtensionDependencyError' ); diff --git a/includes/registration/ExtensionJsonValidationError.php b/includes/registration/ExtensionJsonValidationError.php index f9a5a9dbfac..10f47758676 100644 --- a/includes/registration/ExtensionJsonValidationError.php +++ b/includes/registration/ExtensionJsonValidationError.php @@ -18,9 +18,16 @@ * @file */ +namespace MediaWiki\Registration; + +use Exception; + /** * @newable * @ingroup ExtensionRegistry */ class ExtensionJsonValidationError extends Exception { } + +/** @deprecated class alias since 1.43 */ +class_alias( ExtensionJsonValidationError::class, 'ExtensionJsonValidationError' ); diff --git a/includes/registration/ExtensionJsonValidator.php b/includes/registration/ExtensionJsonValidator.php index 0ee5e038ce0..b876541e18e 100644 --- a/includes/registration/ExtensionJsonValidator.php +++ b/includes/registration/ExtensionJsonValidator.php @@ -18,6 +18,8 @@ * @file */ +namespace MediaWiki\Registration; + use Composer\Spdx\SpdxLicenses; use JsonSchema\Validator; use Seld\JsonLint\DuplicateKeyException; @@ -59,6 +61,7 @@ class ExtensionJsonValidator { call_user_func( $this->missingDepCallback, 'The JsonSchema library cannot be found, please install it through composer.' ); + return false; } @@ -66,6 +69,7 @@ class ExtensionJsonValidator { call_user_func( $this->missingDepCallback, 'The spdx-licenses library cannot be found, please install it through composer.' ); + return false; } @@ -80,6 +84,7 @@ class ExtensionJsonValidator { /** * @param string $path file to validate + * * @return bool true if passes validation * @throws ExtensionJsonValidationError on any failure */ @@ -157,3 +162,6 @@ class ExtensionJsonValidator { throw new ExtensionJsonValidationError( $out ); } } + +/** @deprecated class alias since 1.43 */ +class_alias( ExtensionJsonValidator::class, 'ExtensionJsonValidator' ); diff --git a/includes/registration/ExtensionProcessor.php b/includes/registration/ExtensionProcessor.php index a6018d2c332..96e18bf4d12 100644 --- a/includes/registration/ExtensionProcessor.php +++ b/includes/registration/ExtensionProcessor.php @@ -1,7 +1,13 @@ getExtractedAutoloadInfo( $includeDev ); + return [ 'globals' => $this->globals, 'defines' => $this->defines, @@ -456,6 +463,7 @@ class ExtensionProcessor implements Processor { ); } } + return $merged; } @@ -468,6 +476,7 @@ class ExtensionProcessor implements Processor { * @param array $hookHandlersAttr handler definitions from 'HookHandler' attribute * @param string $name * @param string $path extension.json file path + * * @throws UnexpectedValueException */ private function setArrayHookHandler( @@ -779,6 +788,7 @@ class ExtensionProcessor implements Processor { /** * @param string $path * @param array $info + * * @return string Name of thing * @throws Exception */ @@ -821,6 +831,7 @@ class ExtensionProcessor implements Processor { /** * Set configuration settings for manifest_version == 1 + * * @todo In the future, this should be done via Config interfaces * * @param array $info @@ -855,11 +866,13 @@ class ExtensionProcessor implements Processor { foreach ( $value as $k => $v ) { $result[$k] = $dir . '/' . $v; } + return $result; } /** * Set configuration settings for manifest_version == 2 + * * @todo In the future, this should be done via Config interfaces * * @param array $info @@ -930,6 +943,7 @@ class ExtensionProcessor implements Processor { * @param string $name * @param array $value * @param array &$array + * * @throws InvalidArgumentException */ protected function storeToArrayRecursive( $path, $name, $value, &$array ) { @@ -950,6 +964,7 @@ class ExtensionProcessor implements Processor { * @param string $name * @param array $value * @param array &$array + * * @throws InvalidArgumentException */ protected function storeToArray( $path, $name, $value, &$array ) { @@ -1033,3 +1048,6 @@ class ExtensionProcessor implements Processor { } } } + +/** @deprecated class alias since 1.43 */ +class_alias( ExtensionProcessor::class, 'ExtensionProcessor' ); diff --git a/includes/registration/ExtensionRegistry.php b/includes/registration/ExtensionRegistry.php index 1dfb16e2894..120f1ad57b1 100644 --- a/includes/registration/ExtensionRegistry.php +++ b/includes/registration/ExtensionRegistry.php @@ -1,10 +1,18 @@ getId(); + return ObjectCacheFactory::makeLocalServerCache( $keyspace ); } @@ -287,6 +298,7 @@ class ExtensionRegistry { ]; $this->varyHash = md5( json_encode( $vary ) ); } + return $this->varyHash; } @@ -382,6 +394,7 @@ class ExtensionRegistry { /** * Get the list of abilities and their values + * * @return bool[] */ private function getAbilities() { @@ -417,6 +430,7 @@ class ExtensionRegistry { * @internal since 1.39. Extensions should use ExtensionProcessor instead. * * @param int[] $queue keys are filenames, values are ignored + * * @return array extracted info * @throws InvalidArgumentException * @throws ExtensionDependencyError @@ -576,8 +590,10 @@ class ExtensionRegistry { /** * Whether a thing has been loaded + * * @param string $name * @param string $constraint The required version constraint for this dependency + * * @throws LogicException if a specific constraint is asked for, * but the extension isn't versioned * @return bool @@ -599,6 +615,7 @@ class ExtensionRegistry { /** * @param string $name + * * @return array */ public function getAttribute( $name ) { @@ -616,7 +633,9 @@ class ExtensionRegistry { /** * Get an attribute value that isn't cached by reading each * extension.json file again + * * @param string $name + * * @return array */ protected function getLazyLoadedAttribute( $name ) { @@ -633,6 +652,7 @@ class ExtensionRegistry { $data = $cache->get( $key ); if ( $data !== false ) { $this->lazyAttributes[$name] = $data; + return $data; } @@ -656,6 +676,7 @@ class ExtensionRegistry { * * @param string $name Name of attribute to override * @param array $value Value to set + * * @return ScopedCallback to reset * @since 1.33 */ @@ -669,6 +690,7 @@ class ExtensionRegistry { throw new InvalidArgumentException( "The attribute '$name' has already been overridden" ); } $this->testAttributes[$name] = $value; + return new ScopedCallback( function () use ( $name ) { unset( $this->testAttributes[$name] ); } ); @@ -688,6 +710,7 @@ class ExtensionRegistry { * * @param string $dir * @param string[] $files + * * @return array */ protected static function processAutoLoader( $dir, array $files ) { @@ -695,11 +718,13 @@ class ExtensionRegistry { foreach ( $files as &$file ) { $file = "$dir/$file"; } + return $files; } /** * @internal for use by Setup. Hopefully in the future, we find a better way. + * * @param SettingsBuilder $settingsBuilder */ public function setSettingsBuilder( SettingsBuilder $settingsBuilder ) { @@ -710,6 +735,10 @@ class ExtensionRegistry { if ( $this->settingsBuilder === null ) { $this->settingsBuilder = SettingsBuilder::getInstance(); } + return $this->settingsBuilder; } } + +/** @deprecated class alias since 1.43 */ +class_alias( ExtensionRegistry::class, 'ExtensionRegistry' ); diff --git a/includes/registration/MissingExtensionException.php b/includes/registration/MissingExtensionException.php index d5682145b0a..f521ddeaa09 100644 --- a/includes/registration/MissingExtensionException.php +++ b/includes/registration/MissingExtensionException.php @@ -1,4 +1,9 @@ isLoaded( 'Cite' ) ) { + if ( ExtensionRegistry::getInstance()->isLoaded( 'Cite' ) ) { $spat .= '|()'; // references via cite extension $endPatterns[4] = '/()|(<\/ref>)/'; } diff --git a/includes/specials/SpecialVersion.php b/includes/specials/SpecialVersion.php index 4e171fd2a11..ff4e6f3ad4c 100644 --- a/includes/specials/SpecialVersion.php +++ b/includes/specials/SpecialVersion.php @@ -23,7 +23,6 @@ namespace MediaWiki\Specials; use Closure; -use ExtensionRegistry; use HtmlArmor; use Language; use MediaWiki\Config\Config; @@ -37,6 +36,7 @@ use MediaWiki\Parser\Parser; use MediaWiki\Parser\ParserOutput; use MediaWiki\Parser\ParserOutputFlags; use MediaWiki\Parser\Sanitizer; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\SpecialPage\SpecialPage; use MediaWiki\Utils\ExtensionInfo; use MediaWiki\Utils\GitInfo; diff --git a/includes/user/Options/UserOptionsManager.php b/includes/user/Options/UserOptionsManager.php index f08dbf22b91..284894fbc3c 100644 --- a/includes/user/Options/UserOptionsManager.php +++ b/includes/user/Options/UserOptionsManager.php @@ -20,7 +20,6 @@ namespace MediaWiki\User\Options; -use ExtensionRegistry; use IDBAccessObject; use InvalidArgumentException; use LanguageCode; @@ -32,6 +31,7 @@ use MediaWiki\HookContainer\HookRunner; use MediaWiki\Languages\LanguageConverterFactory; use MediaWiki\MainConfigNames; use MediaWiki\MediaWikiServices; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\User\UserFactory; use MediaWiki\User\UserIdentity; use MediaWiki\User\UserNameUtils; diff --git a/includes/user/TempUser/TempUserCreator.php b/includes/user/TempUser/TempUserCreator.php index f1a145076e6..51ce9e0b170 100644 --- a/includes/user/TempUser/TempUserCreator.php +++ b/includes/user/TempUser/TempUserCreator.php @@ -2,10 +2,10 @@ namespace MediaWiki\User\TempUser; -use ExtensionRegistry; use MediaWiki\Auth\AuthManager; use MediaWiki\Auth\Throttler; use MediaWiki\Permissions\Authority; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Request\WebRequest; use MediaWiki\Session\Session; use MediaWiki\User\CentralId\CentralIdLookup; diff --git a/maintenance/benchmarks/benchmarkSettings.php b/maintenance/benchmarks/benchmarkSettings.php index 7329a69ba12..78017b86866 100644 --- a/maintenance/benchmarks/benchmarkSettings.php +++ b/maintenance/benchmarks/benchmarkSettings.php @@ -22,6 +22,7 @@ */ use MediaWiki\MainConfigSchema; +use MediaWiki\Registration\ExtensionRegistry; use MediaWiki\Settings\Config\ArrayConfigBuilder; use MediaWiki\Settings\Config\NullIniSink; use MediaWiki\Settings\SettingsBuilder; diff --git a/maintenance/checkDependencies.php b/maintenance/checkDependencies.php index 36b70b48268..bf4eeaf8039 100644 --- a/maintenance/checkDependencies.php +++ b/maintenance/checkDependencies.php @@ -21,6 +21,8 @@ */ use MediaWiki\MainConfigNames; +use MediaWiki\Registration\ExtensionDependencyError; +use MediaWiki\Registration\ExtensionRegistry; require_once __DIR__ . '/Maintenance.php'; diff --git a/maintenance/convertExtensionToRegistration.php b/maintenance/convertExtensionToRegistration.php index 46cb0ccb23e..84ff6ee6053 100644 --- a/maintenance/convertExtensionToRegistration.php +++ b/maintenance/convertExtensionToRegistration.php @@ -1,6 +1,8 @@