aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RELEASE-NOTES-1.439
-rw-r--r--autoload.php8
-rw-r--r--includes/Category/TrackingCategories.php2
-rw-r--r--includes/GlobalFunctions.php1
-rw-r--r--includes/MediaWikiServices.php2
-rw-r--r--includes/Output/OutputPage.php2
-rw-r--r--includes/ResourceLoader/CodexModule.php2
-rw-r--r--includes/ResourceLoader/FileModule.php2
-rw-r--r--includes/ResourceLoader/OOUIModule.php2
-rw-r--r--includes/ResourceLoader/ResourceLoader.php2
-rw-r--r--includes/Rest/EntryPoint.php2
-rw-r--r--includes/Rest/Handler/ParsoidHandler.php2
-rw-r--r--includes/ServiceWiring.php1
-rw-r--r--includes/Settings/SettingsBuilder.php2
-rw-r--r--includes/Setup.php2
-rw-r--r--includes/api/ApiBase.php1
-rw-r--r--includes/api/ApiQuerySiteinfo.php1
-rw-r--r--includes/installer/DatabaseUpdater.php2
-rw-r--r--includes/installer/Installer.php6
-rw-r--r--includes/parser/Parsoid/LintErrorChecker.php2
-rw-r--r--includes/registration/ExtensionDependencyError.php7
-rw-r--r--includes/registration/ExtensionJsonValidationError.php7
-rw-r--r--includes/registration/ExtensionJsonValidator.php8
-rw-r--r--includes/registration/ExtensionProcessor.php18
-rw-r--r--includes/registration/ExtensionRegistry.php29
-rw-r--r--includes/registration/MissingExtensionException.php8
-rw-r--r--includes/registration/Processor.php7
-rw-r--r--includes/registration/VersionChecker.php11
-rw-r--r--includes/search/SearchHighlighter.php3
-rw-r--r--includes/specials/SpecialVersion.php2
-rw-r--r--includes/user/Options/UserOptionsManager.php2
-rw-r--r--includes/user/TempUser/TempUserCreator.php2
-rw-r--r--maintenance/benchmarks/benchmarkSettings.php1
-rw-r--r--maintenance/checkDependencies.php2
-rw-r--r--maintenance/convertExtensionToRegistration.php2
-rw-r--r--maintenance/includes/Maintenance.php1
-rw-r--r--maintenance/manageForeignResources.php1
-rw-r--r--maintenance/mergeMessageFileList.php1
-rw-r--r--maintenance/updateExtensionJsonSchema.php1
-rw-r--r--maintenance/validateRegistrationFile.php3
-rw-r--r--tests/common/TestSetup.php1
-rw-r--r--tests/parser/ParserTestRunner.php1
-rw-r--r--tests/phpunit/MediaWikiIntegrationTestCase.php1
-rw-r--r--tests/phpunit/MediaWikiUnitTestCase.php1
-rw-r--r--tests/phpunit/bootstrap.php2
-rwxr-xr-xtests/phpunit/getPHPUnitExtensionsAndSkins.php1
-rw-r--r--tests/phpunit/includes/HookContainer/HookContainerIntegrationTest.php2
-rw-r--r--tests/phpunit/includes/ResourceLoader/OOUIImageModuleTest.php2
-rw-r--r--tests/phpunit/includes/ResourceLoader/ResourceLoaderTest.php2
-rw-r--r--tests/phpunit/includes/api/query/ApiQuerySiteinfoTest.php2
-rw-r--r--tests/phpunit/includes/language/LanguageIntegrationTest.php1
-rw-r--r--tests/phpunit/includes/parser/Parsoid/LintErrorCheckerTest.php1
-rw-r--r--tests/phpunit/includes/preferences/SignatureValidatorTest.php1
-rw-r--r--tests/phpunit/includes/registration/ExtensionRegistrationTest.php4
-rw-r--r--tests/phpunit/integration/includes/Rest/Handler/ParsoidHandlerTest.php2
-rw-r--r--tests/phpunit/integration/includes/user/TempUser/TempUserCreatorTest.php2
-rw-r--r--tests/phpunit/phpunit.php1
-rw-r--r--tests/phpunit/structure/ExtensionJsonValidationTest.php4
-rw-r--r--tests/phpunit/structure/SettingsTest.php2
-rw-r--r--tests/phpunit/suites/ExtensionsTestSuite.php1
-rw-r--r--tests/phpunit/unit/includes/Settings/LocalSettingsLoaderTest.php2
-rw-r--r--tests/phpunit/unit/includes/Settings/SettingsBuilderTest.php2
-rw-r--r--tests/phpunit/unit/includes/Settings/WikiFarmSettingsLoaderTest.php2
-rw-r--r--tests/phpunit/unit/includes/SetupDynamicConfigTest.php1
-rw-r--r--tests/phpunit/unit/includes/registration/ExtensionJsonValidatorTest.php5
-rw-r--r--tests/phpunit/unit/includes/registration/ExtensionProcessorTest.php6
-rw-r--r--tests/phpunit/unit/includes/registration/ExtensionRegistryTest.php4
-rw-r--r--tests/phpunit/unit/includes/registration/VersionCheckerTest.php4
68 files changed, 191 insertions, 38 deletions
diff --git a/RELEASE-NOTES-1.43 b/RELEASE-NOTES-1.43
index 1414540f8815..dbabf8cad921 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 b04fc299f11c..872fe0f807cc 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 83f5d933c40c..9bdc0b6371ab 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 39de6c1fc7d8..6b8440247471 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 2976551744a8..ff96203bf32e 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 34df87fddd3a..3e01ef76795e 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 a4a936a5b5cd..2f91ca6313dd 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 0a9da8b6fe43..7f0626be20da 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 84363dade8b5..b073fd8afcd9 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 3cb404939aa0..db62ce14eea2 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 793272fb413d..517767640f42 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 8fbd03b26201..f7337b99aaf4 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 4bb8bb26adab..5077d910e42a 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 70c6fbc09aec..f36b86d503eb 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 cdbca8130006..71d988723397 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 ad6991a0ac22..933b125b8829 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 b864ada29c6f..5ad6be55d110 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 254dd4b94f21..ee2fdee9dda2 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 4eed2450d0ee..a58d05f5fef7 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 d70bb959704b..96bb9c1f2758 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 0cfebf47daba..087003335906 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 f9a5a9dbfacd..10f477586769 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 0ee5e038ce0d..b876541e18ed 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 a6018d2c3325..96e18bf4d12f 100644
--- a/includes/registration/ExtensionProcessor.php
+++ b/includes/registration/ExtensionProcessor.php
@@ -1,7 +1,13 @@
<?php
+namespace MediaWiki\Registration;
+
+use Exception;
+use InvalidArgumentException;
use MediaWiki\MainConfigNames;
use MediaWiki\ResourceLoader\FilePath;
+use RuntimeException;
+use UnexpectedValueException;
/**
* Load extension manifests and then aggregate their contents.
@@ -376,6 +382,7 @@ class ExtensionProcessor implements Processor {
}
$autoload = $this->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 1dfb16e28943..120f1ad57b17 100644
--- a/includes/registration/ExtensionRegistry.php
+++ b/includes/registration/ExtensionRegistry.php
@@ -1,10 +1,18 @@
<?php
+namespace MediaWiki\Registration;
+
+use AutoLoader;
use Composer\Semver\Semver;
+use InvalidArgumentException;
+use LogicException;
use MediaWiki\Settings\SettingsBuilder;
use MediaWiki\Shell\Shell;
use MediaWiki\ShellDisabledError;
use MediaWiki\WikiMap\WikiMap;
+use ObjectCacheFactory;
+use RuntimeException;
+use UnexpectedValueException;
use Wikimedia\ObjectCache\BagOStuff;
use Wikimedia\ScopedCallback;
@@ -205,6 +213,7 @@ class ExtensionRegistry {
/**
* @since 1.34
+ *
* @param bool $check
*/
public function setCheckDevRequires( $check ) {
@@ -217,6 +226,7 @@ class ExtensionRegistry {
* TestAutoloadNamespaces should be added to the autoloader.
*
* @since 1.35
+ *
* @param bool $load
*/
public function setLoadTestClassesAndNamespaces( $load ) {
@@ -254,6 +264,7 @@ class ExtensionRegistry {
$keyspace = ( is_string( $wgCachePrefix ) && $wgCachePrefix !== '' )
? $wgCachePrefix
: WikiMap::getCurrentWikiDbDomain()->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 d5682145b0ac..f521ddeaa094 100644
--- a/includes/registration/MissingExtensionException.php
+++ b/includes/registration/MissingExtensionException.php
@@ -1,4 +1,9 @@
<?php
+
+namespace MediaWiki\Registration;
+
+use Exception;
+use HttpStatus;
use MediaWiki\Html\TemplateParser;
use Wikimedia\ObjectCache\EmptyBagOStuff;
@@ -121,3 +126,6 @@ class MissingExtensionException extends Exception {
return $path . $suffix;
}
}
+
+/** @deprecated class alias since 1.43 */
+class_alias( MissingExtensionException::class, 'MissingExtensionException' );
diff --git a/includes/registration/Processor.php b/includes/registration/Processor.php
index f4b7b226403f..34112fddcf44 100644
--- a/includes/registration/Processor.php
+++ b/includes/registration/Processor.php
@@ -1,5 +1,7 @@
<?php
+namespace MediaWiki\Registration;
+
/**
* Generic processor that reads associated arrays and registers whatever is required.
*
@@ -34,8 +36,10 @@ interface Processor {
* Get the requirements for the provided info
*
* @since 1.26
+ *
* @param array $info
* @param bool $includeDev
+ *
* @return array Where keys are the name to have a constraint on,
* like 'MediaWiki'. Values are a constraint string like "1.26.1".
*/
@@ -57,3 +61,6 @@ interface Processor {
*/
public function getExtractedAutoloadInfo( bool $includeDev = false ): array;
}
+
+/** @deprecated class alias since 1.43 */
+class_alias( Processor::class, 'Processor' );
diff --git a/includes/registration/VersionChecker.php b/includes/registration/VersionChecker.php
index 2ac972ff94cc..05ca4e58be7d 100644
--- a/includes/registration/VersionChecker.php
+++ b/includes/registration/VersionChecker.php
@@ -18,8 +18,11 @@
* @file
*/
+namespace MediaWiki\Registration;
+
use Composer\Semver\Constraint\Constraint;
use Composer\Semver\VersionParser;
+use UnexpectedValueException;
/**
* Check whether extensions and their dependencies meet certain version requirements.
@@ -88,6 +91,7 @@ class VersionChecker {
* Set an array with credits of all loaded extensions and skins.
*
* @param array $credits An array of installed extensions with credits of them
+ *
* @return VersionChecker $this
*/
public function setLoadedExtensionsAndSkins( array $credits ) {
@@ -115,6 +119,7 @@ class VersionChecker {
/**
* @param string $phpVersion Current PHP version. Must be well-formed.
+ *
* @throws UnexpectedValueException
*/
private function setPhpVersion( $phpVersion ) {
@@ -149,6 +154,7 @@ class VersionChecker {
* }
*
* @param array $extDependencies All extensions that depend on other ones
+ *
* @return array[] List of errors
*/
public function checkArray( array $extDependencies ) {
@@ -268,6 +274,7 @@ class VersionChecker {
*
* @param Constraint|false $version The version installed
* @param string $constraint The required version constraint for this dependency
+ *
* @return bool false if no error, true else
*/
private function handleDependency( $version, $constraint ) {
@@ -292,6 +299,7 @@ class VersionChecker {
* @param string $constraint The required version constraint for this dependency
* @param string $checkedExt The Extension, which depends on this dependency
* @param string $type Either 'extensions' or 'skins'
+ *
* @return bool|array false for no errors, or an array of info
*/
private function handleExtensionDependency( $dependencyName, $constraint, $checkedExt,
@@ -352,3 +360,6 @@ class VersionChecker {
return false;
}
}
+
+/** @deprecated class alias since 1.43 */
+class_alias( VersionChecker::class, 'VersionChecker' );
diff --git a/includes/search/SearchHighlighter.php b/includes/search/SearchHighlighter.php
index a6981b35fe6a..259d0e48dbab 100644
--- a/includes/search/SearchHighlighter.php
+++ b/includes/search/SearchHighlighter.php
@@ -24,6 +24,7 @@
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Parser\Sanitizer;
+use MediaWiki\Registration\ExtensionRegistry;
/**
* Highlight bits of wikitext
@@ -82,7 +83,7 @@ class SearchHighlighter {
// @todo FIXME: This should prolly be a hook or something
// instead of hardcoding the name of the Cite extension
- if ( \ExtensionRegistry::getInstance()->isLoaded( 'Cite' ) ) {
+ if ( ExtensionRegistry::getInstance()->isLoaded( 'Cite' ) ) {
$spat .= '|(<ref>)'; // references via cite extension
$endPatterns[4] = '/(<ref>)|(<\/ref>)/';
}
diff --git a/includes/specials/SpecialVersion.php b/includes/specials/SpecialVersion.php
index 4e171fd2a114..ff4e6f3ad4cf 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 f08dbf22b918..284894fbc3c0 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 f1a145076e6c..51ce9e0b1703 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 7329a69ba12c..78017b86866f 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 36b70b48268b..bf4eeaf80393 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 46cb0ccb23e2..84ff6ee60539 100644
--- a/maintenance/convertExtensionToRegistration.php
+++ b/maintenance/convertExtensionToRegistration.php
@@ -1,6 +1,8 @@
<?php
use MediaWiki\Json\FormatJson;
+use MediaWiki\Registration\ExtensionProcessor;
+use MediaWiki\Registration\ExtensionRegistry;
use Wikimedia\Composer\ComposerJson;
require_once __DIR__ . '/Maintenance.php';
diff --git a/maintenance/includes/Maintenance.php b/maintenance/includes/Maintenance.php
index b45f1fec8f10..39fb07384b7a 100644
--- a/maintenance/includes/Maintenance.php
+++ b/maintenance/includes/Maintenance.php
@@ -25,6 +25,7 @@ use MediaWiki\MainConfigNames;
use MediaWiki\Maintenance\MaintenanceFatalError;
use MediaWiki\Maintenance\MaintenanceParameters;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Settings\SettingsBuilder;
use MediaWiki\Shell\Shell;
use MediaWiki\User\User;
diff --git a/maintenance/manageForeignResources.php b/maintenance/manageForeignResources.php
index ee3d5c682bb0..de643784eb14 100644
--- a/maintenance/manageForeignResources.php
+++ b/maintenance/manageForeignResources.php
@@ -18,6 +18,7 @@
* @file
*/
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\ResourceLoader\ForeignResourceManager;
require_once __DIR__ . '/Maintenance.php';
diff --git a/maintenance/mergeMessageFileList.php b/maintenance/mergeMessageFileList.php
index 6e1c29c05e46..ff20a10083a4 100644
--- a/maintenance/mergeMessageFileList.php
+++ b/maintenance/mergeMessageFileList.php
@@ -24,6 +24,7 @@
# Start from scratch
use MediaWiki\MainConfigNames;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Settings\SettingsBuilder;
define( 'MW_NO_EXTENSION_MESSAGES', 1 );
diff --git a/maintenance/updateExtensionJsonSchema.php b/maintenance/updateExtensionJsonSchema.php
index eee06ff91be7..c3d8db8d6609 100644
--- a/maintenance/updateExtensionJsonSchema.php
+++ b/maintenance/updateExtensionJsonSchema.php
@@ -2,6 +2,7 @@
use Composer\Semver\VersionParser;
use MediaWiki\Json\FormatJson;
+use MediaWiki\Registration\ExtensionRegistry;
require_once __DIR__ . '/Maintenance.php';
diff --git a/maintenance/validateRegistrationFile.php b/maintenance/validateRegistrationFile.php
index a704d61a9361..1a70e5b56465 100644
--- a/maintenance/validateRegistrationFile.php
+++ b/maintenance/validateRegistrationFile.php
@@ -1,5 +1,8 @@
<?php
+use MediaWiki\Registration\ExtensionJsonValidationError;
+use MediaWiki\Registration\ExtensionJsonValidator;
+
require_once __DIR__ . '/Maintenance.php';
class ValidateRegistrationFile extends Maintenance {
diff --git a/tests/common/TestSetup.php b/tests/common/TestSetup.php
index 225963558952..48a3b1ca1a18 100644
--- a/tests/common/TestSetup.php
+++ b/tests/common/TestSetup.php
@@ -4,6 +4,7 @@ use MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider;
use MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider;
use MediaWiki\Logger\LegacySpi;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Session\CookieSessionProvider;
/**
diff --git a/tests/parser/ParserTestRunner.php b/tests/parser/ParserTestRunner.php
index 116205532c7c..fe82342536e0 100644
--- a/tests/parser/ParserTestRunner.php
+++ b/tests/parser/ParserTestRunner.php
@@ -41,6 +41,7 @@ use MediaWiki\Parser\Parser;
use MediaWiki\Parser\ParserOutput;
use MediaWiki\Parser\ParserOutputFlags;
use MediaWiki\Permissions\UltimateAuthority;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Revision\MutableRevisionRecord;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\SlotRecord;
diff --git a/tests/phpunit/MediaWikiIntegrationTestCase.php b/tests/phpunit/MediaWikiIntegrationTestCase.php
index a4bc63cc7246..a3a6ef86869e 100644
--- a/tests/phpunit/MediaWikiIntegrationTestCase.php
+++ b/tests/phpunit/MediaWikiIntegrationTestCase.php
@@ -21,6 +21,7 @@ use MediaWiki\Page\ProperPageIdentity;
use MediaWiki\Permissions\Authority;
use MediaWiki\Permissions\UltimateAuthority;
use MediaWiki\Profiler\ProfilingContext;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Request\FauxRequest;
use MediaWiki\Request\WebRequest;
use MediaWiki\Revision\RevisionRecord;
diff --git a/tests/phpunit/MediaWikiUnitTestCase.php b/tests/phpunit/MediaWikiUnitTestCase.php
index 5db2a7c084d3..0414d1f83603 100644
--- a/tests/phpunit/MediaWikiUnitTestCase.php
+++ b/tests/phpunit/MediaWikiUnitTestCase.php
@@ -27,6 +27,7 @@ use MediaWiki\Deferred\DeferredUpdatesScopeStack;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Logger\NullSpi;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Settings\SettingsBuilder;
use PHPUnit\Framework\Exception;
use PHPUnit\Framework\TestCase;
diff --git a/tests/phpunit/bootstrap.php b/tests/phpunit/bootstrap.php
index 7507124194e8..f332a579ea18 100644
--- a/tests/phpunit/bootstrap.php
+++ b/tests/phpunit/bootstrap.php
@@ -28,6 +28,8 @@
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MainConfigSchema;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Registration\ExtensionProcessor;
+use MediaWiki\Registration\ExtensionRegistry;
use PHPUnit\TextUI\CliArguments\Builder;
require_once __DIR__ . '/bootstrap.common.php';
diff --git a/tests/phpunit/getPHPUnitExtensionsAndSkins.php b/tests/phpunit/getPHPUnitExtensionsAndSkins.php
index 6a6f28e03b46..e0d45ca2d3f7 100755
--- a/tests/phpunit/getPHPUnitExtensionsAndSkins.php
+++ b/tests/phpunit/getPHPUnitExtensionsAndSkins.php
@@ -18,6 +18,7 @@
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Registration\ExtensionRegistry;
require_once __DIR__ . '/bootstrap.common.php';
diff --git a/tests/phpunit/includes/HookContainer/HookContainerIntegrationTest.php b/tests/phpunit/includes/HookContainer/HookContainerIntegrationTest.php
index d15452f2013d..de4168a4193b 100644
--- a/tests/phpunit/includes/HookContainer/HookContainerIntegrationTest.php
+++ b/tests/phpunit/includes/HookContainer/HookContainerIntegrationTest.php
@@ -2,7 +2,7 @@
namespace MediaWiki\Tests\HookContainer {
- use ExtensionRegistry;
+ use MediaWiki\Registration\ExtensionRegistry;
use Wikimedia\ScopedCallback;
class HookContainerIntegrationTest extends \MediaWikiIntegrationTestCase {
diff --git a/tests/phpunit/includes/ResourceLoader/OOUIImageModuleTest.php b/tests/phpunit/includes/ResourceLoader/OOUIImageModuleTest.php
index 5c5c82046222..e6ea1e62313b 100644
--- a/tests/phpunit/includes/ResourceLoader/OOUIImageModuleTest.php
+++ b/tests/phpunit/includes/ResourceLoader/OOUIImageModuleTest.php
@@ -2,7 +2,7 @@
namespace MediaWiki\Tests\ResourceLoader;
-use ExtensionRegistry;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\ResourceLoader\OOUIImageModule;
use MediaWiki\Tests\Unit\DummyServicesTrait;
use SkinFactory;
diff --git a/tests/phpunit/includes/ResourceLoader/ResourceLoaderTest.php b/tests/phpunit/includes/ResourceLoader/ResourceLoaderTest.php
index 503ff1fda57e..1ca2b19e265d 100644
--- a/tests/phpunit/includes/ResourceLoader/ResourceLoaderTest.php
+++ b/tests/phpunit/includes/ResourceLoader/ResourceLoaderTest.php
@@ -3,12 +3,12 @@
namespace MediaWiki\Tests\ResourceLoader;
use Exception;
-use ExtensionRegistry;
use InvalidArgumentException;
use MediaWiki\Config\Config;
use MediaWiki\Config\HashConfig;
use MediaWiki\Html\HtmlJsCode;
use MediaWiki\MainConfigNames;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Request\FauxRequest;
use MediaWiki\ResourceLoader\Context;
use MediaWiki\ResourceLoader\FileModule;
diff --git a/tests/phpunit/includes/api/query/ApiQuerySiteinfoTest.php b/tests/phpunit/includes/api/query/ApiQuerySiteinfoTest.php
index 21db3d9131d9..db7eb74805cb 100644
--- a/tests/phpunit/includes/api/query/ApiQuerySiteinfoTest.php
+++ b/tests/phpunit/includes/api/query/ApiQuerySiteinfoTest.php
@@ -2,12 +2,12 @@
namespace MediaWiki\Tests\Api\Query;
-use ExtensionRegistry;
use LanguageCode;
use LanguageConverter;
use MediaWiki\MainConfigNames;
use MediaWiki\MainConfigSchema;
use MediaWiki\Message\Message;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\SiteStats\SiteStats;
use MediaWiki\Tests\Api\ApiTestCase;
use MediaWiki\Tests\User\TempUser\TempUserTestTrait;
diff --git a/tests/phpunit/includes/language/LanguageIntegrationTest.php b/tests/phpunit/includes/language/LanguageIntegrationTest.php
index a0d101757105..e8271b3422ea 100644
--- a/tests/phpunit/includes/language/LanguageIntegrationTest.php
+++ b/tests/phpunit/includes/language/LanguageIntegrationTest.php
@@ -9,6 +9,7 @@ use MediaWiki\Languages\LanguageFallback;
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Tests\Unit\DummyServicesTrait;
use MediaWiki\Title\NamespaceInfo;
use MediaWiki\User\UserIdentityValue;
diff --git a/tests/phpunit/includes/parser/Parsoid/LintErrorCheckerTest.php b/tests/phpunit/includes/parser/Parsoid/LintErrorCheckerTest.php
index 1a47cb8a1cfb..96c8c82149e7 100644
--- a/tests/phpunit/includes/parser/Parsoid/LintErrorCheckerTest.php
+++ b/tests/phpunit/includes/parser/Parsoid/LintErrorCheckerTest.php
@@ -20,6 +20,7 @@
use MediaWiki\MainConfigNames;
use MediaWiki\Parser\Parsoid\LintErrorChecker;
+use MediaWiki\Registration\ExtensionRegistry;
/**
* @group Parser
diff --git a/tests/phpunit/includes/preferences/SignatureValidatorTest.php b/tests/phpunit/includes/preferences/SignatureValidatorTest.php
index b2d938ac8b9f..2cf3ce1e4273 100644
--- a/tests/phpunit/includes/preferences/SignatureValidatorTest.php
+++ b/tests/phpunit/includes/preferences/SignatureValidatorTest.php
@@ -2,6 +2,7 @@
use MediaWiki\MainConfigNames;
use MediaWiki\Preferences\SignatureValidator;
+use MediaWiki\Registration\ExtensionRegistry;
use Wikimedia\TestingAccessWrapper;
/**
diff --git a/tests/phpunit/includes/registration/ExtensionRegistrationTest.php b/tests/phpunit/includes/registration/ExtensionRegistrationTest.php
index 3c0f759a60a4..826de10b288a 100644
--- a/tests/phpunit/includes/registration/ExtensionRegistrationTest.php
+++ b/tests/phpunit/includes/registration/ExtensionRegistrationTest.php
@@ -3,8 +3,8 @@
namespace MediaWiki\Tests\Registration;
use AutoLoader;
-use ExtensionRegistry;
use Generator;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Settings\Config\ArrayConfigBuilder;
use MediaWiki\Settings\Config\PhpIniSink;
use MediaWiki\Settings\SettingsBuilder;
@@ -13,7 +13,7 @@ use Wikimedia\ObjectCache\HashBagOStuff;
use Wikimedia\TestingAccessWrapper;
/**
- * @covers \ExtensionRegistry
+ * @covers \MediaWiki\Registration\ExtensionRegistry
*/
class ExtensionRegistrationTest extends MediaWikiIntegrationTestCase {
diff --git a/tests/phpunit/integration/includes/Rest/Handler/ParsoidHandlerTest.php b/tests/phpunit/integration/includes/Rest/Handler/ParsoidHandlerTest.php
index b6f6acce641e..e21710e6837c 100644
--- a/tests/phpunit/integration/includes/Rest/Handler/ParsoidHandlerTest.php
+++ b/tests/phpunit/integration/includes/Rest/Handler/ParsoidHandlerTest.php
@@ -4,7 +4,6 @@ namespace MediaWiki\Tests\Rest\Handler;
use Composer\Semver\Semver;
use Exception;
-use ExtensionRegistry;
use Generator;
use Language;
use LanguageCode;
@@ -18,6 +17,7 @@ use MediaWiki\Parser\Parsoid\HtmlToContentTransform;
use MediaWiki\Parser\Parsoid\HtmlTransformFactory;
use MediaWiki\Parser\RevisionOutputCache;
use MediaWiki\Permissions\UltimateAuthority;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Rest\Handler\Helper\HtmlInputTransformHelper;
use MediaWiki\Rest\Handler\Helper\ParsoidFormatHelper;
use MediaWiki\Rest\Handler\ParsoidHandler;
diff --git a/tests/phpunit/integration/includes/user/TempUser/TempUserCreatorTest.php b/tests/phpunit/integration/includes/user/TempUser/TempUserCreatorTest.php
index ea7e6459501d..392c289bf9dc 100644
--- a/tests/phpunit/integration/includes/user/TempUser/TempUserCreatorTest.php
+++ b/tests/phpunit/integration/includes/user/TempUser/TempUserCreatorTest.php
@@ -2,10 +2,10 @@
namespace MediaWiki\Tests\Integration\User\TempUser;
-use ExtensionRegistry;
use MediaWiki\Auth\AuthManager;
use MediaWiki\Auth\Throttler;
use MediaWiki\MainConfigNames;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Request\FauxRequest;
use MediaWiki\Session\Session;
use MediaWiki\Tests\User\TempUser\TempUserTestTrait;
diff --git a/tests/phpunit/phpunit.php b/tests/phpunit/phpunit.php
index 9ec392f8d0c6..9a28b48a9143 100644
--- a/tests/phpunit/phpunit.php
+++ b/tests/phpunit/phpunit.php
@@ -7,6 +7,7 @@
*/
use MediaWiki\MediaWikiServices;
+use MediaWiki\Registration\ExtensionRegistry;
use PHPUnit\TextUI\Command;
class PHPUnitMaintClass {
diff --git a/tests/phpunit/structure/ExtensionJsonValidationTest.php b/tests/phpunit/structure/ExtensionJsonValidationTest.php
index 781b1fd6f743..6e9c09cb1452 100644
--- a/tests/phpunit/structure/ExtensionJsonValidationTest.php
+++ b/tests/phpunit/structure/ExtensionJsonValidationTest.php
@@ -16,6 +16,10 @@
* http://www.gnu.org/copyleft/gpl.html
*/
+use MediaWiki\Registration\ExtensionJsonValidationError;
+use MediaWiki\Registration\ExtensionJsonValidator;
+use MediaWiki\Registration\ExtensionRegistry;
+
/**
* Validates all loaded extensions and skins using the ExtensionRegistry
* against the extension.json schema in the docs/ folder.
diff --git a/tests/phpunit/structure/SettingsTest.php b/tests/phpunit/structure/SettingsTest.php
index 4bd5fdd26d07..e2a8d18db024 100644
--- a/tests/phpunit/structure/SettingsTest.php
+++ b/tests/phpunit/structure/SettingsTest.php
@@ -2,9 +2,9 @@
namespace MediaWiki\Tests\Structure;
-use ExtensionRegistry;
use MediaWiki\MainConfigNames;
use MediaWiki\MainConfigSchema;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Settings\Config\ArrayConfigBuilder;
use MediaWiki\Settings\Config\PhpIniSink;
use MediaWiki\Settings\SettingsBuilder;
diff --git a/tests/phpunit/suites/ExtensionsTestSuite.php b/tests/phpunit/suites/ExtensionsTestSuite.php
index be7064e327a7..bfb77f2854f2 100644
--- a/tests/phpunit/suites/ExtensionsTestSuite.php
+++ b/tests/phpunit/suites/ExtensionsTestSuite.php
@@ -2,6 +2,7 @@
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Registration\ExtensionRegistry;
use PHPUnit\Framework\TestSuite;
use SebastianBergmann\FileIterator\Facade;
diff --git a/tests/phpunit/unit/includes/Settings/LocalSettingsLoaderTest.php b/tests/phpunit/unit/includes/Settings/LocalSettingsLoaderTest.php
index 2d88c65baf68..8a171d6ceedb 100644
--- a/tests/phpunit/unit/includes/Settings/LocalSettingsLoaderTest.php
+++ b/tests/phpunit/unit/includes/Settings/LocalSettingsLoaderTest.php
@@ -2,7 +2,7 @@
namespace MediaWiki\Tests\Unit\Settings;
-use ExtensionRegistry;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Settings\Config\ArrayConfigBuilder;
use MediaWiki\Settings\Config\PhpIniSink;
use MediaWiki\Settings\LocalSettingsLoader;
diff --git a/tests/phpunit/unit/includes/Settings/SettingsBuilderTest.php b/tests/phpunit/unit/includes/Settings/SettingsBuilderTest.php
index 25cf4a01336e..aac4758507aa 100644
--- a/tests/phpunit/unit/includes/Settings/SettingsBuilderTest.php
+++ b/tests/phpunit/unit/includes/Settings/SettingsBuilderTest.php
@@ -2,10 +2,10 @@
namespace MediaWiki\Tests\Unit\Settings;
-use ExtensionRegistry;
use InvalidArgumentException;
use MediaWiki\MainConfigNames;
use MediaWiki\MainConfigSchema;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Settings\Cache\CacheableSource;
use MediaWiki\Settings\Cache\CachedSource;
use MediaWiki\Settings\Config\ArrayConfigBuilder;
diff --git a/tests/phpunit/unit/includes/Settings/WikiFarmSettingsLoaderTest.php b/tests/phpunit/unit/includes/Settings/WikiFarmSettingsLoaderTest.php
index 6544cfb045ad..91f625cf9279 100644
--- a/tests/phpunit/unit/includes/Settings/WikiFarmSettingsLoaderTest.php
+++ b/tests/phpunit/unit/includes/Settings/WikiFarmSettingsLoaderTest.php
@@ -2,9 +2,9 @@
namespace MediaWiki\Tests\Unit\Settings;
-use ExtensionRegistry;
use MediaWiki\Config\HashConfig;
use MediaWiki\MainConfigNames;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Settings\Config\ArrayConfigBuilder;
use MediaWiki\Settings\Config\PhpIniSink;
use MediaWiki\Settings\SettingsBuilder;
diff --git a/tests/phpunit/unit/includes/SetupDynamicConfigTest.php b/tests/phpunit/unit/includes/SetupDynamicConfigTest.php
index b358cc1638ad..f9e5edb496c7 100644
--- a/tests/phpunit/unit/includes/SetupDynamicConfigTest.php
+++ b/tests/phpunit/unit/includes/SetupDynamicConfigTest.php
@@ -2,6 +2,7 @@
use MediaWiki\MainConfigNames;
use MediaWiki\MainConfigSchema;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Settings\Config\ArrayConfigBuilder;
use MediaWiki\Settings\Config\ConfigSchemaAggregator;
use MediaWiki\Settings\Config\PhpIniSink;
diff --git a/tests/phpunit/unit/includes/registration/ExtensionJsonValidatorTest.php b/tests/phpunit/unit/includes/registration/ExtensionJsonValidatorTest.php
index ecc09b012c13..948101053ba9 100644
--- a/tests/phpunit/unit/includes/registration/ExtensionJsonValidatorTest.php
+++ b/tests/phpunit/unit/includes/registration/ExtensionJsonValidatorTest.php
@@ -18,8 +18,11 @@
*
*/
+use MediaWiki\Registration\ExtensionJsonValidationError;
+use MediaWiki\Registration\ExtensionJsonValidator;
+
/**
- * @covers \ExtensionJsonValidator
+ * @covers \MediaWiki\Registration\ExtensionJsonValidator
*/
class ExtensionJsonValidatorTest extends MediaWikiUnitTestCase {
diff --git a/tests/phpunit/unit/includes/registration/ExtensionProcessorTest.php b/tests/phpunit/unit/includes/registration/ExtensionProcessorTest.php
index 607a4904bb88..0978d7bdb91e 100644
--- a/tests/phpunit/unit/includes/registration/ExtensionProcessorTest.php
+++ b/tests/phpunit/unit/includes/registration/ExtensionProcessorTest.php
@@ -3,17 +3,17 @@
namespace MediaWiki\Tests\Registration;
use Exception;
-use ExtensionProcessor;
-use ExtensionRegistry;
use InvalidArgumentException;
use MediaWiki\Json\FormatJson;
+use MediaWiki\Registration\ExtensionProcessor;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWikiUnitTestCase;
use RuntimeException;
use UnexpectedValueException;
use Wikimedia\TestingAccessWrapper;
/**
- * @covers \ExtensionProcessor
+ * @covers \MediaWiki\Registration\ExtensionProcessor
*/
class ExtensionProcessorTest extends MediaWikiUnitTestCase {
diff --git a/tests/phpunit/unit/includes/registration/ExtensionRegistryTest.php b/tests/phpunit/unit/includes/registration/ExtensionRegistryTest.php
index 64f52a3fa276..e54a18c3989f 100644
--- a/tests/phpunit/unit/includes/registration/ExtensionRegistryTest.php
+++ b/tests/phpunit/unit/includes/registration/ExtensionRegistryTest.php
@@ -3,16 +3,16 @@
namespace MediaWiki\Tests\Registration;
use Exception;
-use ExtensionRegistry;
use InvalidArgumentException;
use LogicException;
+use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\Settings\SettingsBuilder;
use MediaWikiUnitTestCase;
use Wikimedia\ScopedCallback;
use Wikimedia\TestingAccessWrapper;
/**
- * @covers \ExtensionRegistry
+ * @covers \MediaWiki\Registration\ExtensionRegistry
*/
class ExtensionRegistryTest extends MediaWikiUnitTestCase {
diff --git a/tests/phpunit/unit/includes/registration/VersionCheckerTest.php b/tests/phpunit/unit/includes/registration/VersionCheckerTest.php
index 9ed6f113bfdd..a852a384c99f 100644
--- a/tests/phpunit/unit/includes/registration/VersionCheckerTest.php
+++ b/tests/phpunit/unit/includes/registration/VersionCheckerTest.php
@@ -1,7 +1,9 @@
<?php
+use MediaWiki\Registration\VersionChecker;
+
/**
- * @covers \VersionChecker
+ * @covers \MediaWiki\Registration\VersionChecker
*/
class VersionCheckerTest extends MediaWikiUnitTestCase {