WMDE-leszek has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/391034 )

Change subject: Use MediaWiki autoloader
......................................................................

Use MediaWiki autoloader

As long as extension registration does handle PSR-4 autoloading.

Bug: T180067
Change-Id: I1e7b40aea20f0172a903f62f51d817e26f5b9267
---
M client/WikibaseClient.php
A client/autoload.php
M composer.json
A data-access/autoload.php
M lib/WikibaseLib.php
A lib/autoload.php
M repo/Wikibase.php
A repo/autoload.php
A scripts/generateAutoload.php
M view/WikibaseView.php
A view/autoload.php
11 files changed, 925 insertions(+), 25 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/34/391034/1

diff --git a/client/WikibaseClient.php b/client/WikibaseClient.php
index b1aeccb..6281129 100644
--- a/client/WikibaseClient.php
+++ b/client/WikibaseClient.php
@@ -66,6 +66,9 @@
        throw new Exception( 'WikibaseClient depends on the WikibaseLib 
extension.' );
 }
 
+// Load autoload info as long as extension classes are not PSR-4-autoloaded
+require_once __DIR__  . '/autoload.php';
+
 call_user_func( function() {
        global $wgAPIListModules,
                $wgAPIMetaModules,
diff --git a/client/autoload.php b/client/autoload.php
new file mode 100644
index 0000000..f51b864
--- /dev/null
+++ b/client/autoload.php
@@ -0,0 +1,125 @@
+<?php
+// This file is generated by scripts/generateAutoload.php, do not adjust 
manually
+// @codingStandardsIgnoreFile
+global $wgAutoloadClasses;
+
+$wgAutoloadClasses += [
+       'Wikibase\\ClientHooks' => __DIR__ . '/WikibaseClient.hooks.php',
+       'Wikibase\\Client\\Api\\ApiClientInfo' => __DIR__ . 
'/includes/Api/ApiClientInfo.php',
+       'Wikibase\\Client\\Api\\ApiListEntityUsage' => __DIR__ . 
'/includes/Api/ApiListEntityUsage.php',
+       'Wikibase\\Client\\Api\\ApiPropsEntityUsage' => __DIR__ . 
'/includes/Api/ApiPropsEntityUsage.php',
+       'Wikibase\\Client\\Api\\PageTerms' => __DIR__ . 
'/includes/Api/PageTerms.php',
+       'Wikibase\\Client\\CachingOtherProjectsSitesProvider' => __DIR__ . 
'/includes/CachingOtherProjectsSitesProvider.php',
+       'Wikibase\\Client\\ChangeNotificationJob' => __DIR__ . 
'/includes/ChangeNotificationJob.php',
+       'Wikibase\\Client\\Changes\\AffectedPagesFinder' => __DIR__ . 
'/includes/Changes/AffectedPagesFinder.php',
+       'Wikibase\\Client\\Changes\\ChangeHandler' => __DIR__ . 
'/includes/Changes/ChangeHandler.php',
+       'Wikibase\\Client\\Changes\\ChangeRunCoalescer' => __DIR__ . 
'/includes/Changes/ChangeRunCoalescer.php',
+       'Wikibase\\Client\\Changes\\InjectRCRecordsJob' => __DIR__ . 
'/includes/Changes/InjectRCRecordsJob.php',
+       'Wikibase\\Client\\Changes\\PageUpdater' => __DIR__ . 
'/includes/Changes/PageUpdater.php',
+       'Wikibase\\Client\\Changes\\WikiPageUpdater' => __DIR__ . 
'/includes/Changes/WikiPageUpdater.php',
+       'Wikibase\\Client\\DataAccess\\ClientSiteLinkTitleLookup' => __DIR__ . 
'/includes/DataAccess/ClientSiteLinkTitleLookup.php',
+       'Wikibase\\Client\\DataAccess\\DataAccessSnakFormatterFactory' => 
__DIR__ . '/includes/DataAccess/DataAccessSnakFormatterFactory.php',
+       'Wikibase\\Client\\DataAccess\\ParserFunctions\\LanguageAwareRenderer' 
=> __DIR__ . '/includes/DataAccess/ParserFunctions/LanguageAwareRenderer.php',
+       'Wikibase\\Client\\DataAccess\\ParserFunctions\\Runner' => __DIR__ . 
'/includes/DataAccess/ParserFunctions/Runner.php',
+       'Wikibase\\Client\\DataAccess\\ParserFunctions\\StatementGroupRenderer' 
=> __DIR__ . '/includes/DataAccess/ParserFunctions/StatementGroupRenderer.php',
+       
'Wikibase\\Client\\DataAccess\\ParserFunctions\\StatementGroupRendererFactory' 
=> __DIR__ . 
'/includes/DataAccess/ParserFunctions/StatementGroupRendererFactory.php',
+       'Wikibase\\Client\\DataAccess\\ParserFunctions\\VariantsAwareRenderer' 
=> __DIR__ . '/includes/DataAccess/ParserFunctions/VariantsAwareRenderer.php',
+       'Wikibase\\Client\\DataAccess\\PropertyIdResolver' => __DIR__ . 
'/includes/DataAccess/PropertyIdResolver.php',
+       'Wikibase\\Client\\DataAccess\\Scribunto\\EntityAccessor' => __DIR__ . 
'/includes/DataAccess/Scribunto/EntityAccessor.php',
+       
'Wikibase\\Client\\DataAccess\\Scribunto\\Scribunto_LuaWikibaseEntityLibrary' 
=> __DIR__ . 
'/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php',
+       'Wikibase\\Client\\DataAccess\\Scribunto\\Scribunto_LuaWikibaseLibrary' 
=> __DIR__ . '/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php',
+       'Wikibase\\Client\\DataAccess\\Scribunto\\SnakSerializationRenderer' => 
__DIR__ . '/includes/DataAccess/Scribunto/SnakSerializationRenderer.php',
+       
'Wikibase\\Client\\DataAccess\\Scribunto\\WikibaseLanguageDependentLuaBindings' 
=> __DIR__ . 
'/includes/DataAccess/Scribunto/WikibaseLanguageDependentLuaBindings.php',
+       
'Wikibase\\Client\\DataAccess\\Scribunto\\WikibaseLanguageIndependentLuaBindings'
 => __DIR__ . 
'/includes/DataAccess/Scribunto/WikibaseLanguageIndependentLuaBindings.php',
+       'Wikibase\\Client\\DataAccess\\Scribunto\\WikibaseLuaEntityBindings' => 
__DIR__ . '/includes/DataAccess/Scribunto/WikibaseLuaEntityBindings.php',
+       'Wikibase\\Client\\DataAccess\\SnaksFinder' => __DIR__ . 
'/includes/DataAccess/SnaksFinder.php',
+       'Wikibase\\Client\\DataAccess\\StatementTransclusionInteractor' => 
__DIR__ . '/includes/DataAccess/StatementTransclusionInteractor.php',
+       'Wikibase\\Client\\Hooks\\BaseTemplateAfterPortletHandler' => __DIR__ . 
'/includes/Hooks/BaseTemplateAfterPortletHandler.php',
+       'Wikibase\\Client\\Hooks\\BeforePageDisplayHandler' => __DIR__ . 
'/includes/Hooks/BeforePageDisplayHandler.php',
+       'Wikibase\\Client\\Hooks\\ChangesListLinesHandler' => __DIR__ . 
'/includes/Hooks/ChangesListLinesHandler.php',
+       'Wikibase\\Client\\Hooks\\ChangesListSpecialPageHookHandlers' => 
__DIR__ . '/includes/Hooks/ChangesListSpecialPageHookHandlers.php',
+       'Wikibase\\Client\\Hooks\\DataUpdateHookHandlers' => __DIR__ . 
'/includes/Hooks/DataUpdateHookHandlers.php',
+       'Wikibase\\Client\\Hooks\\DeletePageNoticeCreator' => __DIR__ . 
'/includes/Hooks/DeletePageNoticeCreator.php',
+       'Wikibase\\Client\\Hooks\\EchoNotificationsHandlers' => __DIR__ . 
'/includes/Hooks/EchoNotificationsHandlers.php',
+       'Wikibase\\Client\\Hooks\\EchoSetupHookHandlers' => __DIR__ . 
'/includes/Hooks/EchoSetupHookHandlers.php',
+       'Wikibase\\Client\\Hooks\\EditActionHookHandler' => __DIR__ . 
'/includes/Hooks/EditActionHookHandler.php',
+       'Wikibase\\Client\\Hooks\\InfoActionHookHandler' => __DIR__ . 
'/includes/Hooks/InfoActionHookHandler.php',
+       'Wikibase\\Client\\Hooks\\LanguageLinkBadgeDisplay' => __DIR__ . 
'/includes/Hooks/LanguageLinkBadgeDisplay.php',
+       'Wikibase\\Client\\Hooks\\MagicWordHookHandlers' => __DIR__ . 
'/includes/Hooks/MagicWordHookHandlers.php',
+       'Wikibase\\Client\\Hooks\\MovePageNotice' => __DIR__ . 
'/includes/Hooks/MovePageNotice.php',
+       'Wikibase\\Client\\Hooks\\NoLangLinkHandler' => __DIR__ . 
'/includes/Hooks/NoLangLinkHandler.php',
+       'Wikibase\\Client\\Hooks\\OtherProjectsSidebarGenerator' => __DIR__ . 
'/includes/Hooks/OtherProjectsSidebarGenerator.php',
+       'Wikibase\\Client\\Hooks\\OtherProjectsSidebarGeneratorFactory' => 
__DIR__ . '/includes/Hooks/OtherProjectsSidebarGeneratorFactory.php',
+       'Wikibase\\Client\\Hooks\\ParserClearStateHookHandler' => __DIR__ . 
'/includes/Hooks/ParserClearStateHookHandler.php',
+       'Wikibase\\Client\\Hooks\\ParserFunctionRegistrant' => __DIR__ . 
'/includes/Hooks/ParserFunctionRegistrant.php',
+       'Wikibase\\Client\\Hooks\\ParserLimitReportPrepareHookHandler' => 
__DIR__ . '/includes/Hooks/ParserLimitReportPrepareHookHandler.php',
+       'Wikibase\\Client\\Hooks\\ParserOutputUpdateHookHandlers' => __DIR__ . 
'/includes/Hooks/ParserOutputUpdateHookHandlers.php',
+       'Wikibase\\Client\\Hooks\\SidebarHookHandlers' => __DIR__ . 
'/includes/Hooks/SidebarHookHandlers.php',
+       'Wikibase\\Client\\Hooks\\SidebarLinkBadgeDisplay' => __DIR__ . 
'/includes/Hooks/SidebarLinkBadgeDisplay.php',
+       'Wikibase\\Client\\Hooks\\SkinTemplateOutputPageBeforeExecHandler' => 
__DIR__ . '/includes/Hooks/SkinTemplateOutputPageBeforeExecHandler.php',
+       'Wikibase\\Client\\Hooks\\UpdateRepoHookHandlers' => __DIR__ . 
'/includes/Hooks/UpdateRepoHookHandlers.php',
+       'Wikibase\\Client\\LangLinkHandler' => __DIR__ . 
'/includes/LangLinkHandler.php',
+       'Wikibase\\Client\\Modules\\SiteModule' => __DIR__ . 
'/includes/Modules/SiteModule.php',
+       'Wikibase\\Client\\NamespaceChecker' => __DIR__ . 
'/includes/NamespaceChecker.php',
+       'Wikibase\\Client\\Notifications\\PageConnectionPresentationModel' => 
__DIR__ . '/includes/Notifications/PageConnectionPresentationModel.php',
+       'Wikibase\\Client\\OtherProjectsSitesGenerator' => __DIR__ . 
'/includes/OtherProjectsSitesGenerator.php',
+       'Wikibase\\Client\\OtherProjectsSitesProvider' => __DIR__ . 
'/includes/OtherProjectsSitesProvider.php',
+       'Wikibase\\Client\\ParserOutput\\ClientParserOutputDataUpdater' => 
__DIR__ . '/includes/ParserOutput/ClientParserOutputDataUpdater.php',
+       'Wikibase\\Client\\PropertyLabelNotResolvedException' => __DIR__ . 
'/includes/PropertyLabelNotResolvedException.php',
+       'Wikibase\\Client\\RecentChanges\\ChangeLineFormatter' => __DIR__ . 
'/includes/RecentChanges/ChangeLineFormatter.php',
+       'Wikibase\\Client\\RecentChanges\\ExternalChange' => __DIR__ . 
'/includes/RecentChanges/ExternalChange.php',
+       'Wikibase\\Client\\RecentChanges\\ExternalChangeFactory' => __DIR__ . 
'/includes/RecentChanges/ExternalChangeFactory.php',
+       'Wikibase\\Client\\RecentChanges\\RecentChangeFactory' => __DIR__ . 
'/includes/RecentChanges/RecentChangeFactory.php',
+       'Wikibase\\Client\\RecentChanges\\RecentChangesDuplicateDetector' => 
__DIR__ . '/includes/RecentChanges/RecentChangesDuplicateDetector.php',
+       'Wikibase\\Client\\RecentChanges\\RevisionData' => __DIR__ . 
'/includes/RecentChanges/RevisionData.php',
+       'Wikibase\\Client\\RecentChanges\\SiteLinkCommentCreator' => __DIR__ . 
'/includes/RecentChanges/SiteLinkCommentCreator.php',
+       'Wikibase\\Client\\RepoItemLinkGenerator' => __DIR__ . 
'/includes/RepoItemLinkGenerator.php',
+       'Wikibase\\Client\\RepoLinker' => __DIR__ . '/includes/RepoLinker.php',
+       'Wikibase\\Client\\Serializer\\ClientEntitySerializer' => __DIR__ . 
'/includes/Serializer/ClientEntitySerializer.php',
+       'Wikibase\\Client\\Serializer\\ClientSerializer' => __DIR__ . 
'/includes/Serializer/ClientSerializer.php',
+       'Wikibase\\Client\\Serializer\\ClientStatementListSerializer' => 
__DIR__ . '/includes/Serializer/ClientStatementListSerializer.php',
+       'Wikibase\\Client\\Specials\\SpecialEntityUsage' => __DIR__ . 
'/includes/Specials/SpecialEntityUsage.php',
+       'Wikibase\\Client\\Specials\\SpecialPagesWithBadges' => __DIR__ . 
'/includes/Specials/SpecialPagesWithBadges.php',
+       'Wikibase\\Client\\Specials\\SpecialUnconnectedPages' => __DIR__ . 
'/includes/Specials/SpecialUnconnectedPages.php',
+       'Wikibase\\Client\\Store\\AddUsagesForPageJob' => __DIR__ . 
'/includes/Store/AddUsagesForPageJob.php',
+       'Wikibase\\Client\\Store\\ClientStore' => __DIR__ . 
'/includes/Store/ClientStore.php',
+       'Wikibase\\Client\\Store\\Sql\\BulkSubscriptionUpdater' => __DIR__ . 
'/includes/Store/Sql/BulkSubscriptionUpdater.php',
+       'Wikibase\\Client\\Store\\Sql\\DirectSqlStore' => __DIR__ . 
'/includes/Store/Sql/DirectSqlStore.php',
+       'Wikibase\\Client\\Store\\Sql\\PagePropsEntityIdLookup' => __DIR__ . 
'/includes/Store/Sql/PagePropsEntityIdLookup.php',
+       'Wikibase\\Client\\Store\\TitleFactory' => __DIR__ . 
'/includes/Store/TitleFactory.php',
+       'Wikibase\\Client\\Store\\UsageUpdater' => __DIR__ . 
'/includes/Store/UsageUpdater.php',
+       'Wikibase\\Client\\Tests\\Changes\\MockPageUpdater' => __DIR__ . 
'/tests/phpunit/includes/Changes/MockPageUpdater.php',
+       
'Wikibase\\Client\\Tests\\DataAccess\\Scribunto\\Scribunto_LuaWikibaseLibraryTestCase'
 => __DIR__ . 
'/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTestCase.php',
+       
'Wikibase\\Client\\Tests\\DataAccess\\WikibaseDataAccessTestItemSetUpHelper' => 
__DIR__ . 
'/tests/phpunit/includes/DataAccess/WikibaseDataAccessTestItemSetUpHelper.php',
+       'Wikibase\\Client\\Tests\\Usage\\UsageAccumulatorContractTester' => 
__DIR__ . '/tests/phpunit/includes/Usage/UsageAccumulatorContractTester.php',
+       'Wikibase\\Client\\Tests\\Usage\\UsageLookupContractTester' => __DIR__ 
. '/tests/phpunit/includes/Usage/UsageLookupContractTester.php',
+       'Wikibase\\Client\\Tests\\Usage\\UsageTrackerContractTester' => __DIR__ 
. '/tests/phpunit/includes/Usage/UsageTrackerContractTester.php',
+       'Wikibase\\Client\\UpdateRepo\\UpdateRepo' => __DIR__ . 
'/includes/UpdateRepo/UpdateRepo.php',
+       'Wikibase\\Client\\UpdateRepo\\UpdateRepoOnDelete' => __DIR__ . 
'/includes/UpdateRepo/UpdateRepoOnDelete.php',
+       'Wikibase\\Client\\UpdateRepo\\UpdateRepoOnMove' => __DIR__ . 
'/includes/UpdateRepo/UpdateRepoOnMove.php',
+       'Wikibase\\Client\\Usage\\EntityUsage' => __DIR__ . 
'/includes/Usage/EntityUsage.php',
+       'Wikibase\\Client\\Usage\\HashUsageAccumulator' => __DIR__ . 
'/includes/Usage/HashUsageAccumulator.php',
+       'Wikibase\\Client\\Usage\\NullSubscriptionManager' => __DIR__ . 
'/includes/Usage/NullSubscriptionManager.php',
+       'Wikibase\\Client\\Usage\\NullUsageTracker' => __DIR__ . 
'/includes/Usage/NullUsageTracker.php',
+       'Wikibase\\Client\\Usage\\PageEntityUsages' => __DIR__ . 
'/includes/Usage/PageEntityUsages.php',
+       'Wikibase\\Client\\Usage\\ParserOutputUsageAccumulator' => __DIR__ . 
'/includes/Usage/ParserOutputUsageAccumulator.php',
+       'Wikibase\\Client\\Usage\\SiteLinkUsageLookup' => __DIR__ . 
'/includes/Usage/SiteLinkUsageLookup.php',
+       'Wikibase\\Client\\Usage\\Sql\\EntityUsageTable' => __DIR__ . 
'/includes/Usage/Sql/EntityUsageTable.php',
+       'Wikibase\\Client\\Usage\\Sql\\EntityUsageTableBuilder' => __DIR__ . 
'/includes/Usage/Sql/EntityUsageTableBuilder.php',
+       'Wikibase\\Client\\Usage\\Sql\\SqlSubscriptionManager' => __DIR__ . 
'/includes/Usage/Sql/SqlSubscriptionManager.php',
+       'Wikibase\\Client\\Usage\\Sql\\SqlUsageTracker' => __DIR__ . 
'/includes/Usage/Sql/SqlUsageTracker.php',
+       'Wikibase\\Client\\Usage\\Sql\\SqlUsageTrackerSchemaUpdater' => __DIR__ 
. '/includes/Usage/Sql/SqlUsageTrackerSchemaUpdater.php',
+       'Wikibase\\Client\\Usage\\SubscriptionManager' => __DIR__ . 
'/includes/Usage/SubscriptionManager.php',
+       'Wikibase\\Client\\Usage\\UsageAccumulator' => __DIR__ . 
'/includes/Usage/UsageAccumulator.php',
+       'Wikibase\\Client\\Usage\\UsageAspectTransformer' => __DIR__ . 
'/includes/Usage/UsageAspectTransformer.php',
+       'Wikibase\\Client\\Usage\\UsageLookup' => __DIR__ . 
'/includes/Usage/UsageLookup.php',
+       'Wikibase\\Client\\Usage\\UsageTracker' => __DIR__ . 
'/includes/Usage/UsageTracker.php',
+       'Wikibase\\Client\\Usage\\UsageTrackerException' => __DIR__ . 
'/includes/Usage/UsageTrackerException.php',
+       
'Wikibase\\Client\\Usage\\UsageTrackingLanguageFallbackLabelDescriptionLookup' 
=> __DIR__ . 
'/includes/Usage/UsageTrackingLanguageFallbackLabelDescriptionLookup.php',
+       'Wikibase\\Client\\Usage\\UsageTrackingSnakFormatter' => __DIR__ . 
'/includes/Usage/UsageTrackingSnakFormatter.php',
+       'Wikibase\\Client\\WikibaseClient' => __DIR__ . 
'/includes/WikibaseClient.php',
+       'Wikibase\\PopulateEntityUsage' => __DIR__ . 
'/maintenance/populateEntityUsage.php',
+       'Wikibase\\PopulateInterwiki' => __DIR__ . 
'/maintenance/populateInterwiki.php',
+       'Wikibase\\Test\\MockClientStore' => __DIR__ . 
'/tests/phpunit/MockClientStore.php',
+       'Wikibase\\UpdateSubscriptions' => __DIR__ . 
'/maintenance/updateSubscriptions.php',
+];
diff --git a/composer.json b/composer.json
index db002aa..7c6a22b 100644
--- a/composer.json
+++ b/composer.json
@@ -47,31 +47,6 @@
        "conflict": {
                "mediawiki/mediawiki": "<1.25"
        },
-       "autoload": {
-               "classmap": [
-                       "client/WikibaseClient.hooks.php",
-                       "client/tests/phpunit/MockClientStore.php",
-                       "lib/includes/",
-                       "lib/WikibaseLib.hooks.php",
-                       "lib/maintenance/",
-                       "repo/includes/",
-                       "repo/maintenance/",
-                       "repo/tests/phpunit/maintenance/MockAddUnits.php",
-                       "repo/Wikibase.hooks.php"
-               ],
-               "psr-4": {
-                       "Wikibase\\Client\\": "client/includes",
-                       "Wikibase\\Client\\Tests\\": 
"client/tests/phpunit/includes",
-                       "Wikibase\\DataAccess\\": "data-access/src",
-                       "Wikibase\\DataAccess\\Tests\\": 
"data-access/tests/phpunit",
-                       "Wikibase\\Lib\\": "lib/includes",
-                       "Wikibase\\Lib\\Tests\\": "lib/tests/phpunit",
-                       "Wikibase\\Repo\\": "repo/includes",
-                       "Wikibase\\Repo\\Tests\\": 
"repo/tests/phpunit/includes",
-                       "Wikibase\\View\\": "view/src",
-                       "Wikibase\\View\\Tests\\": "view/tests/phpunit"
-               }
-       },
        "scripts": {
                "fix": "phpcbf",
                "test": [
diff --git a/data-access/autoload.php b/data-access/autoload.php
new file mode 100644
index 0000000..c9a421a
--- /dev/null
+++ b/data-access/autoload.php
@@ -0,0 +1,16 @@
+<?php
+// This file is generated by scripts/generateAutoload.php, do not adjust 
manually
+// @codingStandardsIgnoreFile
+global $wgAutoloadClasses;
+
+$wgAutoloadClasses += [
+       'Wikibase\\DataAccess\\DataAccessServices' => __DIR__ . 
'/src/DataAccessServices.php',
+       'Wikibase\\DataAccess\\DataAccessSettings' => __DIR__ . 
'/src/DataAccessSettings.php',
+       'Wikibase\\DataAccess\\GenericServices' => __DIR__ . 
'/src/GenericServices.php',
+       'Wikibase\\DataAccess\\MultiRepositoryServices' => __DIR__ . 
'/src/MultiRepositoryServices.php',
+       'Wikibase\\DataAccess\\MultipleRepositoryAwareWikibaseServices' => 
__DIR__ . '/src/MultipleRepositoryAwareWikibaseServices.php',
+       'Wikibase\\DataAccess\\PerRepositoryServiceContainer' => __DIR__ . 
'/src/PerRepositoryServiceContainer.php',
+       'Wikibase\\DataAccess\\PerRepositoryServiceContainerFactory' => __DIR__ 
. '/src/PerRepositoryServiceContainerFactory.php',
+       'Wikibase\\DataAccess\\Serializer\\ForbiddenSerializer' => __DIR__ . 
'/src/Serializer/ForbiddenSerializer.php',
+       'Wikibase\\DataAccess\\WikibaseServices' => __DIR__ . 
'/src/WikibaseServices.php',
+];
diff --git a/lib/WikibaseLib.php b/lib/WikibaseLib.php
index 6fffbb9..17bf5b0 100644
--- a/lib/WikibaseLib.php
+++ b/lib/WikibaseLib.php
@@ -52,6 +52,10 @@
        require_once __DIR__ . '/../vendor/autoload.php';
 }
 
+// Load autoload info as long as extension classes are not PSR-4-autoloaded
+require_once __DIR__  . '/autoload.php';
+require_once __DIR__  . '/../data-access/autoload.php';
+
 call_user_func( function() {
        global $wgExtensionCredits, $wgHooks, $wgResourceModules, 
$wgMessagesDirs;
 
diff --git a/lib/autoload.php b/lib/autoload.php
new file mode 100644
index 0000000..3167707
--- /dev/null
+++ b/lib/autoload.php
@@ -0,0 +1,191 @@
+<?php
+// This file is generated by scripts/generateAutoload.php, do not adjust 
manually
+// @codingStandardsIgnoreFile
+global $wgAutoloadClasses;
+
+$wgAutoloadClasses += [
+       'DataValues\\DataValueFactory' => __DIR__ . 
'/includes/DataValueFactory.php',
+       'Wikibase\\Change' => __DIR__ . '/includes/Changes/Change.php',
+       'Wikibase\\ChangeRow' => __DIR__ . '/includes/Changes/ChangeRow.php',
+       'Wikibase\\DiffChange' => __DIR__ . '/includes/Changes/DiffChange.php',
+       'Wikibase\\EntityChange' => __DIR__ . 
'/includes/Changes/EntityChange.php',
+       'Wikibase\\EntityFactory' => __DIR__ . '/includes/EntityFactory.php',
+       'Wikibase\\Formatters\\MonolingualHtmlFormatter' => __DIR__ . 
'/includes/Formatters/MonolingualHtmlFormatter.php',
+       'Wikibase\\Formatters\\MonolingualTextFormatter' => __DIR__ . 
'/includes/Formatters/MonolingualTextFormatter.php',
+       'Wikibase\\ItemChange' => __DIR__ . '/includes/Changes/ItemChange.php',
+       'Wikibase\\LanguageFallbackChain' => __DIR__ . 
'/includes/LanguageFallbackChain.php',
+       'Wikibase\\LanguageFallbackChainFactory' => __DIR__ . 
'/includes/LanguageFallbackChainFactory.php',
+       'Wikibase\\LanguageWithConversion' => __DIR__ . 
'/includes/LanguageWithConversion.php',
+       'Wikibase\\LibHooks' => __DIR__ . '/WikibaseLib.hooks.php',
+       'Wikibase\\Lib\\AutoCommentFormatter' => __DIR__ . 
'/includes/Formatters/AutoCommentFormatter.php',
+       'Wikibase\\Lib\\Changes\\CentralIdLookupFactory' => __DIR__ . 
'/includes/Changes/CentralIdLookupFactory.php',
+       'Wikibase\\Lib\\Changes\\EntityChangeFactory' => __DIR__ . 
'/includes/Changes/EntityChangeFactory.php',
+       'Wikibase\\Lib\\CommonsLinkFormatter' => __DIR__ . 
'/includes/Formatters/CommonsLinkFormatter.php',
+       'Wikibase\\Lib\\ContentLanguages' => __DIR__ . 
'/includes/ContentLanguages.php',
+       'Wikibase\\Lib\\DataTypeDefinitions' => __DIR__ . 
'/includes/DataTypeDefinitions.php',
+       'Wikibase\\Lib\\DifferenceContentLanguages' => __DIR__ . 
'/includes/DifferenceContentLanguages.php',
+       'Wikibase\\Lib\\DispatchingSnakFormatter' => __DIR__ . 
'/includes/Formatters/DispatchingSnakFormatter.php',
+       'Wikibase\\Lib\\EntityIdComposer' => __DIR__ . 
'/includes/EntityIdComposer.php',
+       'Wikibase\\Lib\\EntityIdHtmlLinkFormatter' => __DIR__ . 
'/includes/Formatters/EntityIdHtmlLinkFormatter.php',
+       'Wikibase\\Lib\\EntityIdLinkFormatter' => __DIR__ . 
'/includes/Formatters/EntityIdLinkFormatter.php',
+       'Wikibase\\Lib\\EntityIdPlainLinkFormatter' => __DIR__ . 
'/includes/Formatters/EntityIdPlainLinkFormatter.php',
+       'Wikibase\\Lib\\EntityIdTitleFormatter' => __DIR__ . 
'/includes/Formatters/EntityIdTitleFormatter.php',
+       'Wikibase\\Lib\\EntityIdValueFormatter' => __DIR__ . 
'/includes/Formatters/EntityIdValueFormatter.php',
+       'Wikibase\\Lib\\EntityTypeDefinitions' => __DIR__ . 
'/includes/EntityTypeDefinitions.php',
+       'Wikibase\\Lib\\EscapingSnakFormatter' => __DIR__ . 
'/includes/Formatters/EscapingSnakFormatter.php',
+       'Wikibase\\Lib\\EscapingValueFormatter' => __DIR__ . 
'/includes/Formatters/EscapingValueFormatter.php',
+       'Wikibase\\Lib\\FormatableSummary' => __DIR__ . 
'/includes/FormatableSummary.php',
+       'Wikibase\\Lib\\FormatterLabelDescriptionLookupFactory' => __DIR__ . 
'/includes/Formatters/FormatterLabelDescriptionLookupFactory.php',
+       'Wikibase\\Lib\\Formatters\\BinaryOptionDispatchingSnakFormatter' => 
__DIR__ . '/includes/Formatters/BinaryOptionDispatchingSnakFormatter.php',
+       'Wikibase\\Lib\\Formatters\\CommonsThumbnailFormatter' => __DIR__ . 
'/includes/Formatters/CommonsThumbnailFormatter.php',
+       'Wikibase\\Lib\\Formatters\\DispatchingValueFormatter' => __DIR__ . 
'/includes/Formatters/DispatchingValueFormatter.php',
+       'Wikibase\\Lib\\Formatters\\EntityIdSiteLinkFormatter' => __DIR__ . 
'/includes/Formatters/EntityIdSiteLinkFormatter.php',
+       'Wikibase\\Lib\\Formatters\\ErrorHandlingSnakFormatter' => __DIR__ . 
'/includes/Formatters/ErrorHandlingSnakFormatter.php',
+       'Wikibase\\Lib\\Formatters\\HtmlExternalIdentifierFormatter' => __DIR__ 
. '/includes/Formatters/HtmlExternalIdentifierFormatter.php',
+       'Wikibase\\Lib\\Formatters\\InterWikiLinkHtmlFormatter' => __DIR__ . 
'/includes/Formatters/InterWikiLinkHtmlFormatter.php',
+       'Wikibase\\Lib\\Formatters\\InterWikiLinkWikitextFormatter' => __DIR__ 
. '/includes/Formatters/InterWikiLinkWikitextFormatter.php',
+       'Wikibase\\Lib\\Formatters\\TypedValueFormatter' => __DIR__ . 
'/includes/Formatters/TypedValueFormatter.php',
+       'Wikibase\\Lib\\Formatters\\WikitextExternalIdentifierFormatter' => 
__DIR__ . '/includes/Formatters/WikitextExternalIdentifierFormatter.php',
+       'Wikibase\\Lib\\GlobeCoordinateDetailsFormatter' => __DIR__ . 
'/includes/Formatters/GlobeCoordinateDetailsFormatter.php',
+       'Wikibase\\Lib\\HtmlTimeFormatter' => __DIR__ . 
'/includes/Formatters/HtmlTimeFormatter.php',
+       'Wikibase\\Lib\\HtmlUrlFormatter' => __DIR__ . 
'/includes/Formatters/HtmlUrlFormatter.php',
+       'Wikibase\\Lib\\Interactors\\ConfigurableTermSearchInteractor' => 
__DIR__ . '/includes/Interactors/ConfigurableTermSearchInteractor.php',
+       'Wikibase\\Lib\\Interactors\\DispatchingTermSearchInteractor' => 
__DIR__ . '/includes/Interactors/DispatchingTermSearchInteractor.php',
+       'Wikibase\\Lib\\Interactors\\DispatchingTermSearchInteractorFactory' => 
__DIR__ . '/includes/Interactors/DispatchingTermSearchInteractorFactory.php',
+       'Wikibase\\Lib\\Interactors\\TermIndexSearchInteractor' => __DIR__ . 
'/includes/Interactors/TermIndexSearchInteractor.php',
+       'Wikibase\\Lib\\Interactors\\TermIndexSearchInteractorFactory' => 
__DIR__ . '/includes/Interactors/TermIndexSearchInteractorFactory.php',
+       'Wikibase\\Lib\\Interactors\\TermSearchInteractor' => __DIR__ . 
'/includes/Interactors/TermSearchInteractor.php',
+       'Wikibase\\Lib\\Interactors\\TermSearchInteractorFactory' => __DIR__ . 
'/includes/Interactors/TermSearchInteractorFactory.php',
+       'Wikibase\\Lib\\Interactors\\TermSearchOptions' => __DIR__ . 
'/includes/Interactors/TermSearchOptions.php',
+       'Wikibase\\Lib\\Interactors\\TermSearchResult' => __DIR__ . 
'/includes/Interactors/TermSearchResult.php',
+       'Wikibase\\Lib\\LanguageFallbackIndicator' => __DIR__ . 
'/includes/LanguageFallbackIndicator.php',
+       'Wikibase\\Lib\\LanguageNameLookup' => __DIR__ . 
'/includes/LanguageNameLookup.php',
+       'Wikibase\\Lib\\MediaWikiContentLanguages' => __DIR__ . 
'/includes/MediaWikiContentLanguages.php',
+       'Wikibase\\Lib\\MediaWikiNumberLocalizer' => __DIR__ . 
'/includes/Formatters/MediaWikiNumberLocalizer.php',
+       'Wikibase\\Lib\\MessageException' => __DIR__ . 
'/includes/MessageException.php',
+       'Wikibase\\Lib\\MessageSnakFormatter' => __DIR__ . 
'/includes/Formatters/MessageSnakFormatter.php',
+       'Wikibase\\Lib\\MwTimeIsoFormatter' => __DIR__ . 
'/includes/Formatters/MwTimeIsoFormatter.php',
+       'Wikibase\\Lib\\OutputFormatSnakFormatterFactory' => __DIR__ . 
'/includes/Formatters/OutputFormatSnakFormatterFactory.php',
+       'Wikibase\\Lib\\OutputFormatValueFormatterFactory' => __DIR__ . 
'/includes/Formatters/OutputFormatValueFormatterFactory.php',
+       'Wikibase\\Lib\\PropertyInfoDataTypeLookup' => __DIR__ . 
'/includes/PropertyInfoDataTypeLookup.php',
+       'Wikibase\\Lib\\PropertyInfoSnakUrlExpander' => __DIR__ . 
'/includes/PropertyInfoSnakUrlExpander.php',
+       'Wikibase\\Lib\\PropertyValueSnakFormatter' => __DIR__ . 
'/includes/Formatters/PropertyValueSnakFormatter.php',
+       'Wikibase\\Lib\\QuantityDetailsFormatter' => __DIR__ . 
'/includes/Formatters/QuantityDetailsFormatter.php',
+       'Wikibase\\Lib\\Reporting\\ExceptionHandler' => __DIR__ . 
'/includes/Reporting/ExceptionHandler.php',
+       'Wikibase\\Lib\\Reporting\\LogWarningExceptionHandler' => __DIR__ . 
'/includes/Reporting/LogWarningExceptionHandler.php',
+       'Wikibase\\Lib\\Reporting\\MessageReporter' => __DIR__ . 
'/includes/Reporting/MessageReporter.php',
+       'Wikibase\\Lib\\Reporting\\NullMessageReporter' => __DIR__ . 
'/includes/Reporting/NullMessageReporter.php',
+       'Wikibase\\Lib\\Reporting\\ObservableMessageReporter' => __DIR__ . 
'/includes/Reporting/ObservableMessageReporter.php',
+       'Wikibase\\Lib\\Reporting\\ReportingExceptionHandler' => __DIR__ . 
'/includes/Reporting/ReportingExceptionHandler.php',
+       'Wikibase\\Lib\\Reporting\\RethrowingExceptionHandler' => __DIR__ . 
'/includes/Reporting/RethrowingExceptionHandler.php',
+       'Wikibase\\Lib\\RepositoryDefinitions' => __DIR__ . 
'/includes/RepositoryDefinitions.php',
+       'Wikibase\\Lib\\Serialization\\CallbackFactory' => __DIR__ . 
'/includes/Serialization/CallbackFactory.php',
+       
'Wikibase\\Lib\\Serialization\\RepositorySpecificDataValueDeserializerFactory' 
=> __DIR__ . 
'/includes/Serialization/RepositorySpecificDataValueDeserializerFactory.php',
+       'Wikibase\\Lib\\Serialization\\SerializationModifier' => __DIR__ . 
'/includes/Serialization/SerializationModifier.php',
+       'Wikibase\\Lib\\SitesModuleWorker' => __DIR__ . 
'/includes/Modules/SitesModuleWorker.php',
+       'Wikibase\\Lib\\Sites\\SiteMatrixParser' => __DIR__ . 
'/includes/Sites/SiteMatrixParser.php',
+       'Wikibase\\Lib\\Sites\\SitesBuilder' => __DIR__ . 
'/includes/Sites/SitesBuilder.php',
+       'Wikibase\\Lib\\SnakFormatter' => __DIR__ . 
'/includes/Formatters/SnakFormatter.php',
+       'Wikibase\\Lib\\SnakUrlExpander' => __DIR__ . 
'/includes/SnakUrlExpander.php',
+       'Wikibase\\Lib\\StaticContentLanguages' => __DIR__ . 
'/includes/StaticContentLanguages.php',
+       'Wikibase\\Lib\\Store\\BadRevisionException' => __DIR__ . 
'/includes/Store/BadRevisionException.php',
+       'Wikibase\\Lib\\Store\\CacheAwarePropertyInfoStore' => __DIR__ . 
'/includes/Store/CacheAwarePropertyInfoStore.php',
+       'Wikibase\\Lib\\Store\\CacheRetrievingEntityRevisionLookup' => __DIR__ 
. '/includes/Store/CacheRetrievingEntityRevisionLookup.php',
+       'Wikibase\\Lib\\Store\\CachingEntityRevisionLookup' => __DIR__ . 
'/includes/Store/CachingEntityRevisionLookup.php',
+       'Wikibase\\Lib\\Store\\CachingPropertyInfoLookup' => __DIR__ . 
'/includes/Store/CachingPropertyInfoLookup.php',
+       'Wikibase\\Lib\\Store\\CachingPropertyOrderProvider' => __DIR__ . 
'/includes/Store/CachingPropertyOrderProvider.php',
+       'Wikibase\\Lib\\Store\\CachingSiteLinkLookup' => __DIR__ . 
'/includes/Store/CachingSiteLinkLookup.php',
+       'Wikibase\\Lib\\Store\\ChunkAccess' => __DIR__ . 
'/includes/Store/ChunkAccess.php',
+       'Wikibase\\Lib\\Store\\ChunkCache' => __DIR__ . 
'/includes/Store/ChunkCache.php',
+       'Wikibase\\Lib\\Store\\DispatchingEntityInfoBuilder' => __DIR__ . 
'/includes/Store/DispatchingEntityInfoBuilder.php',
+       'Wikibase\\Lib\\Store\\DispatchingEntityInfoBuilderFactory' => __DIR__ 
. '/includes/Store/DispatchingEntityInfoBuilderFactory.php',
+       'Wikibase\\Lib\\Store\\DispatchingEntityPrefetcher' => __DIR__ . 
'/includes/Store/DispatchingEntityPrefetcher.php',
+       'Wikibase\\Lib\\Store\\DispatchingEntityRevisionLookup' => __DIR__ . 
'/includes/Store/DispatchingEntityRevisionLookup.php',
+       'Wikibase\\Lib\\Store\\DispatchingPropertyInfoLookup' => __DIR__ . 
'/includes/Store/DispatchingPropertyInfoLookup.php',
+       'Wikibase\\Lib\\Store\\DispatchingTermBuffer' => __DIR__ . 
'/includes/Store/DispatchingTermBuffer.php',
+       'Wikibase\\Lib\\Store\\EntityContentDataCodec' => __DIR__ . 
'/includes/Store/EntityContentDataCodec.php',
+       'Wikibase\\Lib\\Store\\EntityInfo' => __DIR__ . 
'/includes/Store/EntityInfo.php',
+       'Wikibase\\Lib\\Store\\EntityInfoBuilder' => __DIR__ . 
'/includes/Store/EntityInfoBuilder.php',
+       'Wikibase\\Lib\\Store\\EntityInfoBuilderFactory' => __DIR__ . 
'/includes/Store/EntityInfoBuilderFactory.php',
+       'Wikibase\\Lib\\Store\\EntityInfoTermLookup' => __DIR__ . 
'/includes/Store/EntityInfoTermLookup.php',
+       'Wikibase\\Lib\\Store\\EntityNamespaceLookup' => __DIR__ . 
'/includes/Store/EntityNamespaceLookup.php',
+       'Wikibase\\Lib\\Store\\EntityRevision' => __DIR__ . 
'/includes/Store/EntityRevision.php',
+       'Wikibase\\Lib\\Store\\EntityRevisionCache' => __DIR__ . 
'/includes/Store/EntityRevisionCache.php',
+       'Wikibase\\Lib\\Store\\EntityRevisionLookup' => __DIR__ . 
'/includes/Store/EntityRevisionLookup.php',
+       'Wikibase\\Lib\\Store\\EntityStore' => __DIR__ . 
'/includes/Store/EntityStore.php',
+       'Wikibase\\Lib\\Store\\EntityStoreWatcher' => __DIR__ . 
'/includes/Store/EntityStoreWatcher.php',
+       'Wikibase\\Lib\\Store\\EntityTermLookup' => __DIR__ . 
'/includes/Store/EntityTermLookup.php',
+       'Wikibase\\Lib\\Store\\EntityTermLookupBase' => __DIR__ . 
'/includes/Store/EntityTermLookupBase.php',
+       'Wikibase\\Lib\\Store\\EntityTitleLookup' => __DIR__ . 
'/includes/Store/EntityTitleLookup.php',
+       'Wikibase\\Lib\\Store\\FallbackPropertyOrderProvider' => __DIR__ . 
'/includes/Store/FallbackPropertyOrderProvider.php',
+       'Wikibase\\Lib\\Store\\FieldPropertyInfoProvider' => __DIR__ . 
'/includes/Store/FieldPropertyInfoProvider.php',
+       'Wikibase\\Lib\\Store\\GenericEntityInfoBuilder' => __DIR__ . 
'/includes/Store/GenericEntityInfoBuilder.php',
+       'Wikibase\\Lib\\Store\\HashSiteLinkStore' => __DIR__ . 
'/includes/Store/HashSiteLinkStore.php',
+       'Wikibase\\Lib\\Store\\HttpUrlPropertyOrderProvider' => __DIR__ . 
'/includes/Store/HttpUrlPropertyOrderProvider.php',
+       'Wikibase\\Lib\\Store\\LabelConflictFinder' => __DIR__ . 
'/includes/Store/LabelConflictFinder.php',
+       'Wikibase\\Lib\\Store\\LanguageFallbackLabelDescriptionLookup' => 
__DIR__ . '/includes/Store/LanguageFallbackLabelDescriptionLookup.php',
+       'Wikibase\\Lib\\Store\\LanguageFallbackLabelDescriptionLookupFactory' 
=> __DIR__ . 
'/includes/Store/LanguageFallbackLabelDescriptionLookupFactory.php',
+       'Wikibase\\Lib\\Store\\PrefetchingTermLookup' => __DIR__ . 
'/includes/Store/PrefetchingTermLookup.php',
+       'Wikibase\\Lib\\Store\\PropertyInfoLookup' => __DIR__ . 
'/includes/Store/PropertyInfoLookup.php',
+       'Wikibase\\Lib\\Store\\PropertyInfoProvider' => __DIR__ . 
'/includes/Store/PropertyInfoProvider.php',
+       'Wikibase\\Lib\\Store\\PropertyInfoStore' => __DIR__ . 
'/includes/Store/PropertyInfoStore.php',
+       'Wikibase\\Lib\\Store\\PropertyOrderProvider' => __DIR__ . 
'/includes/Store/PropertyOrderProvider.php',
+       'Wikibase\\Lib\\Store\\PropertyOrderProviderException' => __DIR__ . 
'/includes/Store/PropertyOrderProviderException.php',
+       'Wikibase\\Lib\\Store\\RedirectRevision' => __DIR__ . 
'/includes/Store/RedirectRevision.php',
+       'Wikibase\\Lib\\Store\\RevisionBasedEntityLookup' => __DIR__ . 
'/includes/Store/RevisionBasedEntityLookup.php',
+       'Wikibase\\Lib\\Store\\RevisionedUnresolvedRedirectException' => 
__DIR__ . '/includes/Store/RevisionedUnresolvedRedirectException.php',
+       'Wikibase\\Lib\\Store\\SiteLinkLookup' => __DIR__ . 
'/includes/Store/SiteLinkLookup.php',
+       'Wikibase\\Lib\\Store\\SiteLinkStore' => __DIR__ . 
'/includes/Store/SiteLinkStore.php',
+       'Wikibase\\Lib\\Store\\Sql\\EntityChangeLookup' => __DIR__ . 
'/includes/Store/Sql/EntityChangeLookup.php',
+       'Wikibase\\Lib\\Store\\Sql\\PrefetchingWikiPageEntityMetaDataAccessor' 
=> __DIR__ . 
'/includes/Store/Sql/PrefetchingWikiPageEntityMetaDataAccessor.php',
+       'Wikibase\\Lib\\Store\\Sql\\PropertyInfoTable' => __DIR__ . 
'/includes/Store/Sql/PropertyInfoTable.php',
+       'Wikibase\\Lib\\Store\\Sql\\SiteLinkTable' => __DIR__ . 
'/includes/Store/Sql/SiteLinkTable.php',
+       'Wikibase\\Lib\\Store\\Sql\\SqlEntityInfoBuilder' => __DIR__ . 
'/includes/Store/Sql/SqlEntityInfoBuilder.php',
+       'Wikibase\\Lib\\Store\\Sql\\SqlEntityInfoBuilderFactory' => __DIR__ . 
'/includes/Store/Sql/SqlEntityInfoBuilderFactory.php',
+       'Wikibase\\Lib\\Store\\Sql\\TermSqlIndex' => __DIR__ . 
'/includes/Store/Sql/TermSqlIndex.php',
+       'Wikibase\\Lib\\Store\\Sql\\WikiPageEntityMetaDataAccessor' => __DIR__ 
. '/includes/Store/Sql/WikiPageEntityMetaDataAccessor.php',
+       'Wikibase\\Lib\\Store\\Sql\\WikiPageEntityMetaDataLookup' => __DIR__ . 
'/includes/Store/Sql/WikiPageEntityMetaDataLookup.php',
+       'Wikibase\\Lib\\Store\\Sql\\WikiPageEntityRevisionLookup' => __DIR__ . 
'/includes/Store/Sql/WikiPageEntityRevisionLookup.php',
+       'Wikibase\\Lib\\Store\\StorageException' => __DIR__ . 
'/includes/Store/StorageException.php',
+       'Wikibase\\Lib\\Store\\TermIndexSearchCriteria' => __DIR__ . 
'/includes/Store/TermIndexSearchCriteria.php',
+       'Wikibase\\Lib\\Store\\TermPropertyLabelResolver' => __DIR__ . 
'/includes/Store/TermPropertyLabelResolver.php',
+       'Wikibase\\Lib\\Store\\WikiPagePropertyOrderProvider' => __DIR__ . 
'/includes/Store/WikiPagePropertyOrderProvider.php',
+       'Wikibase\\Lib\\Store\\WikiTextPropertyOrderProvider' => __DIR__ . 
'/includes/Store/WikiTextPropertyOrderProvider.php',
+       'Wikibase\\Lib\\Tests\\Changes\\MockRepoClientCentralIdLookup' => 
__DIR__ . '/tests/phpunit/Changes/MockRepoClientCentralIdLookup.php',
+       'Wikibase\\Lib\\Tests\\Changes\\TestChanges' => __DIR__ . 
'/tests/phpunit/Changes/TestChanges.php',
+       'Wikibase\\Lib\\Tests\\EntityRevisionLookupTest' => __DIR__ . 
'/tests/phpunit/EntityRevisionLookupTest.php',
+       'Wikibase\\Lib\\Tests\\MockPropertyLabelResolver' => __DIR__ . 
'/tests/phpunit/MockPropertyLabelResolver.php',
+       'Wikibase\\Lib\\Tests\\MockRepository' => __DIR__ . 
'/tests/phpunit/MockRepository.php',
+       'Wikibase\\Lib\\Tests\\Store\\EntityTermLookupTest' => __DIR__ . 
'/tests/phpunit/Store/EntityTermLookupTest.php',
+       'Wikibase\\Lib\\Tests\\Store\\HttpUrlPropertyOrderProviderTestMockHttp' 
=> __DIR__ . 
'/tests/phpunit/Store/HttpUrlPropertyOrderProviderTestMockHttp.php',
+       'Wikibase\\Lib\\Tests\\Store\\MockChunkAccess' => __DIR__ . 
'/tests/phpunit/Store/MockChunkAccess.php',
+       'Wikibase\\Lib\\Tests\\Store\\MockPropertyInfoLookup' => __DIR__ . 
'/tests/phpunit/Store/MockPropertyInfoLookup.php',
+       'Wikibase\\Lib\\Tests\\Store\\MockTermIndex' => __DIR__ . 
'/tests/phpunit/Store/MockTermIndex.php',
+       'Wikibase\\Lib\\Tests\\Store\\TermIndexTest' => __DIR__ . 
'/tests/phpunit/Store/TermIndexTest.php',
+       'Wikibase\\Lib\\Tests\\Store\\WikiTextPropertyOrderProviderTestHelper' 
=> __DIR__ . '/tests/phpunit/Store/WikiTextPropertyOrderProviderTestHelper.php',
+       'Wikibase\\Lib\\TimeDetailsFormatter' => __DIR__ . 
'/includes/Formatters/TimeDetailsFormatter.php',
+       'Wikibase\\Lib\\UnDeserializableValueFormatter' => __DIR__ . 
'/includes/Formatters/UnDeserializableValueFormatter.php',
+       'Wikibase\\Lib\\UnionContentLanguages' => __DIR__ . 
'/includes/UnionContentLanguages.php',
+       'Wikibase\\Lib\\Units\\BaseUnitStorage' => __DIR__ . 
'/includes/Units/BaseUnitStorage.php',
+       'Wikibase\\Lib\\Units\\CSVUnitStorage' => __DIR__ . 
'/includes/Units/CSVUnitStorage.php',
+       'Wikibase\\Lib\\Units\\JsonUnitStorage' => __DIR__ . 
'/includes/Units/JsonUnitStorage.php',
+       'Wikibase\\Lib\\Units\\UnitConverter' => __DIR__ . 
'/includes/Units/UnitConverter.php',
+       'Wikibase\\Lib\\Units\\UnitStorage' => __DIR__ . 
'/includes/Units/UnitStorage.php',
+       'Wikibase\\Lib\\UserInputException' => __DIR__ . 
'/includes/UserInputException.php',
+       'Wikibase\\Lib\\UserLanguageLookup' => __DIR__ . 
'/includes/UserLanguageLookup.php',
+       'Wikibase\\Lib\\VocabularyUriFormatter' => __DIR__ . 
'/includes/Formatters/VocabularyUriFormatter.php',
+       'Wikibase\\Lib\\WikibaseSnakFormatterBuilders' => __DIR__ . 
'/includes/Formatters/WikibaseSnakFormatterBuilders.php',
+       'Wikibase\\Lib\\WikibaseValueFormatterBuilders' => __DIR__ . 
'/includes/Formatters/WikibaseValueFormatterBuilders.php',
+       'Wikibase\\PopulateSitesTable' => __DIR__ . 
'/maintenance/populateSitesTable.php',
+       'Wikibase\\RepoAccessModule' => __DIR__ . 
'/includes/Modules/RepoAccessModule.php',
+       'Wikibase\\Settings' => __DIR__ . '/includes/Settings.php',
+       'Wikibase\\SettingsArray' => __DIR__ . '/includes/SettingsArray.php',
+       'Wikibase\\SitesModule' => __DIR__ . 
'/includes/Modules/SitesModule.php',
+       'Wikibase\\Store\\BufferingTermLookup' => __DIR__ . 
'/includes/Store/BufferingTermLookup.php',
+       'Wikibase\\Store\\EntityIdLookup' => __DIR__ . 
'/includes/Store/EntityIdLookup.php',
+       'Wikibase\\StringNormalizer' => __DIR__ . 
'/includes/StringNormalizer.php',
+       'Wikibase\\Summary' => __DIR__ . '/includes/Summary.php',
+       'Wikibase\\TermIndex' => __DIR__ . '/includes/Store/TermIndex.php',
+       'Wikibase\\TermIndexEntry' => __DIR__ . '/includes/TermIndexEntry.php',
+       'Wikibase\\WikibaseSettings' => __DIR__ . 
'/includes/WikibaseSettings.php',
+];
diff --git a/repo/Wikibase.php b/repo/Wikibase.php
index a5db1cc..e4316f4 100644
--- a/repo/Wikibase.php
+++ b/repo/Wikibase.php
@@ -71,6 +71,9 @@
        throw new Exception( 'Wikibase depends on WikibaseView.' );
 }
 
+// Load autoload info as long as extension classes are not PSR-4-autoloaded
+require_once __DIR__  . '/autoload.php';
+
 call_user_func( function() {
        global $wgAPIListModules,
                $wgAPIModules,
diff --git a/repo/autoload.php b/repo/autoload.php
new file mode 100644
index 0000000..1f234cb
--- /dev/null
+++ b/repo/autoload.php
@@ -0,0 +1,415 @@
+<?php
+// This file is generated by scripts/generateAutoload.php, do not adjust 
manually
+// @codingStandardsIgnoreFile
+global $wgAutoloadClasses;
+
+$wgAutoloadClasses += [
+       'Wikibase\\AddUnitConversions' => __DIR__ . 
'/maintenance/addUnitConversions.php',
+       'Wikibase\\ChangePropertyDataType' => __DIR__ . 
'/maintenance/changePropertyDataType.php',
+       'Wikibase\\ClaimSummaryBuilder' => __DIR__ . 
'/includes/ClaimSummaryBuilder.php',
+       'Wikibase\\Content\\DeferredCopyEntityHolder' => __DIR__ . 
'/includes/Content/DeferredCopyEntityHolder.php',
+       'Wikibase\\Content\\DeferredDecodingEntityHolder' => __DIR__ . 
'/includes/Content/DeferredDecodingEntityHolder.php',
+       'Wikibase\\Content\\EntityHolder' => __DIR__ . 
'/includes/Content/EntityHolder.php',
+       'Wikibase\\Content\\EntityInstanceHolder' => __DIR__ . 
'/includes/Content/EntityInstanceHolder.php',
+       'Wikibase\\CopyrightMessageBuilder' => __DIR__ . 
'/includes/CopyrightMessageBuilder.php',
+       'Wikibase\\CreateBlacklistedItems' => __DIR__ . 
'/maintenance/createBlacklistedItems.php',
+       'Wikibase\\DataTypeSelector' => __DIR__ . 
'/includes/DataTypeSelector.php',
+       'Wikibase\\DispatchChanges' => __DIR__ . 
'/maintenance/dispatchChanges.php',
+       'Wikibase\\DispatchStats' => __DIR__ . 
'/includes/Store/Sql/DispatchStats.php',
+       'Wikibase\\DumpJson' => __DIR__ . '/maintenance/dumpJson.php',
+       'Wikibase\\DumpRdf' => __DIR__ . '/maintenance/dumpRdf.php',
+       'Wikibase\\DumpScript' => __DIR__ . '/maintenance/dumpEntities.php',
+       'Wikibase\\Dumpers\\DumpGenerator' => __DIR__ . 
'/includes/Dumpers/DumpGenerator.php',
+       'Wikibase\\Dumpers\\JsonDumpGenerator' => __DIR__ . 
'/includes/Dumpers/JsonDumpGenerator.php',
+       'Wikibase\\Dumpers\\RdfDumpGenerator' => __DIR__ . 
'/includes/Dumpers/RdfDumpGenerator.php',
+       'Wikibase\\EditEntity' => __DIR__ . '/includes/EditEntity.php',
+       'Wikibase\\EditEntityAction' => __DIR__ . 
'/includes/Actions/EditEntityAction.php',
+       'Wikibase\\EditEntityFactory' => __DIR__ . 
'/includes/EditEntityFactory.php',
+       'Wikibase\\EntityContent' => __DIR__ . 
'/includes/Content/EntityContent.php',
+       'Wikibase\\HistoryEntityAction' => __DIR__ . 
'/includes/Actions/HistoryEntityAction.php',
+       'Wikibase\\IdGenerator' => __DIR__ . '/includes/Store/IdGenerator.php',
+       'Wikibase\\ItemContent' => __DIR__ . 
'/includes/Content/ItemContent.php',
+       'Wikibase\\ItemDisambiguation' => __DIR__ . 
'/includes/ItemDisambiguation.php',
+       'Wikibase\\LabelDescriptionDuplicateDetector' => __DIR__ . 
'/includes/LabelDescriptionDuplicateDetector.php',
+       'Wikibase\\OutputPageJsConfigBuilder' => __DIR__ . 
'/includes/OutputPageJsConfigBuilder.php',
+       'Wikibase\\PopulateChangesSubscription' => __DIR__ . 
'/maintenance/populateChangesSubscription.php',
+       'Wikibase\\PropertyContent' => __DIR__ . 
'/includes/Content/PropertyContent.php',
+       'Wikibase\\PropertyInfoBuilder' => __DIR__ . 
'/includes/PropertyInfoBuilder.php',
+       'Wikibase\\PropertyInfoTableBuilder' => __DIR__ . 
'/includes/Store/Sql/PropertyInfoTableBuilder.php',
+       'Wikibase\\PruneChanges' => __DIR__ . '/maintenance/pruneChanges.php',
+       'Wikibase\\Rdf\\DateTimeValueCleaner' => __DIR__ . 
'/includes/Rdf/DateTimeValueCleaner.php',
+       'Wikibase\\Rdf\\DedupeBag' => __DIR__ . '/includes/Rdf/DedupeBag.php',
+       'Wikibase\\Rdf\\DispatchingValueSnakRdfBuilder' => __DIR__ . 
'/includes/Rdf/DispatchingValueSnakRdfBuilder.php',
+       'Wikibase\\Rdf\\EntityMentionListener' => __DIR__ . 
'/includes/Rdf/EntityMentionListener.php',
+       'Wikibase\\Rdf\\EntityRdfBuilder' => __DIR__ . 
'/includes/Rdf/EntityRdfBuilder.php',
+       'Wikibase\\Rdf\\EntityRdfBuilderFactory' => __DIR__ . 
'/includes/Rdf/EntityRdfBuilderFactory.php',
+       'Wikibase\\Rdf\\FullStatementRdfBuilder' => __DIR__ . 
'/includes/Rdf/FullStatementRdfBuilder.php',
+       'Wikibase\\Rdf\\HashDedupeBag' => __DIR__ . 
'/includes/Rdf/HashDedupeBag.php',
+       'Wikibase\\Rdf\\JulianDateTimeValueCleaner' => __DIR__ . 
'/includes/Rdf/JulianDateTimeValueCleaner.php',
+       'Wikibase\\Rdf\\NullDedupeBag' => __DIR__ . 
'/includes/Rdf/NullDedupeBag.php',
+       'Wikibase\\Rdf\\NullEntityMentionListener' => __DIR__ . 
'/includes/Rdf/NullEntityMentionListener.php',
+       'Wikibase\\Rdf\\NullEntityRdfBuilder' => __DIR__ . 
'/includes/Rdf/NullEntityRdfBuilder.php',
+       'Wikibase\\Rdf\\PropertyRdfBuilder' => __DIR__ . 
'/includes/Rdf/PropertyRdfBuilder.php',
+       'Wikibase\\Rdf\\RdfBuilder' => __DIR__ . '/includes/Rdf/RdfBuilder.php',
+       'Wikibase\\Rdf\\RdfProducer' => __DIR__ . 
'/includes/Rdf/RdfProducer.php',
+       'Wikibase\\Rdf\\RdfVocabulary' => __DIR__ . 
'/includes/Rdf/RdfVocabulary.php',
+       'Wikibase\\Rdf\\SiteLinksRdfBuilder' => __DIR__ . 
'/includes/Rdf/SiteLinksRdfBuilder.php',
+       'Wikibase\\Rdf\\SnakRdfBuilder' => __DIR__ . 
'/includes/Rdf/SnakRdfBuilder.php',
+       'Wikibase\\Rdf\\TermsRdfBuilder' => __DIR__ . 
'/includes/Rdf/TermsRdfBuilder.php',
+       'Wikibase\\Rdf\\TruthyStatementRdfBuilder' => __DIR__ . 
'/includes/Rdf/TruthyStatementRdfBuilder.php',
+       'Wikibase\\Rdf\\ValueSnakRdfBuilder' => __DIR__ . 
'/includes/Rdf/ValueSnakRdfBuilder.php',
+       'Wikibase\\Rdf\\ValueSnakRdfBuilderFactory' => __DIR__ . 
'/includes/Rdf/ValueSnakRdfBuilderFactory.php',
+       'Wikibase\\Rdf\\Values\\CommonsMediaRdfBuilder' => __DIR__ . 
'/includes/Rdf/Values/CommonsMediaRdfBuilder.php',
+       'Wikibase\\Rdf\\Values\\ComplexValueRdfHelper' => __DIR__ . 
'/includes/Rdf/Values/ComplexValueRdfHelper.php',
+       'Wikibase\\Rdf\\Values\\EntityIdRdfBuilder' => __DIR__ . 
'/includes/Rdf/Values/EntityIdRdfBuilder.php',
+       'Wikibase\\Rdf\\Values\\ExternalIdentifierRdfBuilder' => __DIR__ . 
'/includes/Rdf/Values/ExternalIdentifierRdfBuilder.php',
+       'Wikibase\\Rdf\\Values\\GlobeCoordinateRdfBuilder' => __DIR__ . 
'/includes/Rdf/Values/GlobeCoordinateRdfBuilder.php',
+       'Wikibase\\Rdf\\Values\\LiteralValueRdfBuilder' => __DIR__ . 
'/includes/Rdf/Values/LiteralValueRdfBuilder.php',
+       'Wikibase\\Rdf\\Values\\MonolingualTextRdfBuilder' => __DIR__ . 
'/includes/Rdf/Values/MonolingualTextRdfBuilder.php',
+       'Wikibase\\Rdf\\Values\\ObjectUriRdfBuilder' => __DIR__ . 
'/includes/Rdf/Values/ObjectUriRdfBuilder.php',
+       'Wikibase\\Rdf\\Values\\QuantityRdfBuilder' => __DIR__ . 
'/includes/Rdf/Values/QuantityRdfBuilder.php',
+       'Wikibase\\Rdf\\Values\\TimeRdfBuilder' => __DIR__ . 
'/includes/Rdf/Values/TimeRdfBuilder.php',
+       'Wikibase\\RebuildPropertyInfo' => __DIR__ . 
'/maintenance/rebuildPropertyInfo.php',
+       'Wikibase\\RebuildTermSqlIndex' => __DIR__ . 
'/maintenance/rebuildTermSqlIndex.php',
+       'Wikibase\\RebuildTermsSearchKey' => __DIR__ . 
'/maintenance/rebuildTermsSearchKey.php',
+       'Wikibase\\RepoHooks' => __DIR__ . '/Wikibase.hooks.php',
+       'Wikibase\\Repo\\Api\\ApiErrorReporter' => __DIR__ . 
'/includes/Api/ApiErrorReporter.php',
+       'Wikibase\\Repo\\Api\\ApiHelperFactory' => __DIR__ . 
'/includes/Api/ApiHelperFactory.php',
+       'Wikibase\\Repo\\Api\\AvailableBadges' => __DIR__ . 
'/includes/Api/AvailableBadges.php',
+       'Wikibase\\Repo\\Api\\CreateClaim' => __DIR__ . 
'/includes/Api/CreateClaim.php',
+       'Wikibase\\Repo\\Api\\CreateRedirect' => __DIR__ . 
'/includes/Api/CreateRedirect.php',
+       'Wikibase\\Repo\\Api\\EditEntity' => __DIR__ . 
'/includes/Api/EditEntity.php',
+       'Wikibase\\Repo\\Api\\EntityLoadingHelper' => __DIR__ . 
'/includes/Api/EntityLoadingHelper.php',
+       'Wikibase\\Repo\\Api\\EntitySavingHelper' => __DIR__ . 
'/includes/Api/EntitySavingHelper.php',
+       'Wikibase\\Repo\\Api\\EntitySearchHelper' => __DIR__ . 
'/includes/Api/EntitySearchHelper.php',
+       'Wikibase\\Repo\\Api\\EntitySearchTermIndex' => __DIR__ . 
'/includes/Api/EntitySearchTermIndex.php',
+       'Wikibase\\Repo\\Api\\FormatSnakValue' => __DIR__ . 
'/includes/Api/FormatSnakValue.php',
+       'Wikibase\\Repo\\Api\\GetClaims' => __DIR__ . 
'/includes/Api/GetClaims.php',
+       'Wikibase\\Repo\\Api\\GetClaimsStatementFilter' => __DIR__ . 
'/includes/Api/GetClaimsStatementFilter.php',
+       'Wikibase\\Repo\\Api\\GetEntities' => __DIR__ . 
'/includes/Api/GetEntities.php',
+       'Wikibase\\Repo\\Api\\ItemByTitleHelper' => __DIR__ . 
'/includes/Api/ItemByTitleHelper.php',
+       'Wikibase\\Repo\\Api\\LinkTitles' => __DIR__ . 
'/includes/Api/LinkTitles.php',
+       'Wikibase\\Repo\\Api\\ListSubscribers' => __DIR__ . 
'/includes/Api/ListSubscribers.php',
+       'Wikibase\\Repo\\Api\\MergeItems' => __DIR__ . 
'/includes/Api/MergeItems.php',
+       'Wikibase\\Repo\\Api\\ModifyEntity' => __DIR__ . 
'/includes/Api/ModifyEntity.php',
+       'Wikibase\\Repo\\Api\\ModifyTerm' => __DIR__ . 
'/includes/Api/ModifyTerm.php',
+       'Wikibase\\Repo\\Api\\ParseValue' => __DIR__ . 
'/includes/Api/ParseValue.php',
+       'Wikibase\\Repo\\Api\\QuerySearchEntities' => __DIR__ . 
'/includes/Api/QuerySearchEntities.php',
+       'Wikibase\\Repo\\Api\\RemoveClaims' => __DIR__ . 
'/includes/Api/RemoveClaims.php',
+       'Wikibase\\Repo\\Api\\RemoveQualifiers' => __DIR__ . 
'/includes/Api/RemoveQualifiers.php',
+       'Wikibase\\Repo\\Api\\RemoveReferences' => __DIR__ . 
'/includes/Api/RemoveReferences.php',
+       'Wikibase\\Repo\\Api\\ResultBuilder' => __DIR__ . 
'/includes/Api/ResultBuilder.php',
+       'Wikibase\\Repo\\Api\\SearchEntities' => __DIR__ . 
'/includes/Api/SearchEntities.php',
+       'Wikibase\\Repo\\Api\\SetAliases' => __DIR__ . 
'/includes/Api/SetAliases.php',
+       'Wikibase\\Repo\\Api\\SetClaim' => __DIR__ . 
'/includes/Api/SetClaim.php',
+       'Wikibase\\Repo\\Api\\SetClaimValue' => __DIR__ . 
'/includes/Api/SetClaimValue.php',
+       'Wikibase\\Repo\\Api\\SetDescription' => __DIR__ . 
'/includes/Api/SetDescription.php',
+       'Wikibase\\Repo\\Api\\SetLabel' => __DIR__ . 
'/includes/Api/SetLabel.php',
+       'Wikibase\\Repo\\Api\\SetQualifier' => __DIR__ . 
'/includes/Api/SetQualifier.php',
+       'Wikibase\\Repo\\Api\\SetReference' => __DIR__ . 
'/includes/Api/SetReference.php',
+       'Wikibase\\Repo\\Api\\SetSiteLink' => __DIR__ . 
'/includes/Api/SetSiteLink.php',
+       'Wikibase\\Repo\\Api\\StatementModificationHelper' => __DIR__ . 
'/includes/Api/StatementModificationHelper.php',
+       'Wikibase\\Repo\\BabelUserLanguageLookup' => __DIR__ . 
'/includes/BabelUserLanguageLookup.php',
+       'Wikibase\\Repo\\BuilderBasedDataTypeValidatorFactory' => __DIR__ . 
'/includes/BuilderBasedDataTypeValidatorFactory.php',
+       'Wikibase\\Repo\\CachingCommonsMediaFileNameLookup' => __DIR__ . 
'/includes/CachingCommonsMediaFileNameLookup.php',
+       'Wikibase\\Repo\\ChangeDispatcher' => __DIR__ . 
'/includes/ChangeDispatcher.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOp' => __DIR__ . 
'/includes/ChangeOp/ChangeOp.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpAliases' => __DIR__ . 
'/includes/ChangeOp/ChangeOpAliases.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpBase' => __DIR__ . 
'/includes/ChangeOp/ChangeOpBase.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpDescription' => __DIR__ . 
'/includes/ChangeOp/ChangeOpDescription.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpDeserializer' => __DIR__ . 
'/includes/ChangeOp/ChangeOpDeserializer.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpException' => __DIR__ . 
'/includes/ChangeOp/ChangeOpException.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpFactoryProvider' => __DIR__ . 
'/includes/ChangeOp/ChangeOpFactoryProvider.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpLabel' => __DIR__ . 
'/includes/ChangeOp/ChangeOpLabel.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpMainSnak' => __DIR__ . 
'/includes/ChangeOp/ChangeOpMainSnak.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpQualifier' => __DIR__ . 
'/includes/ChangeOp/ChangeOpQualifier.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpQualifierRemove' => __DIR__ . 
'/includes/ChangeOp/ChangeOpQualifierRemove.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpReference' => __DIR__ . 
'/includes/ChangeOp/ChangeOpReference.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpReferenceRemove' => __DIR__ . 
'/includes/ChangeOp/ChangeOpReferenceRemove.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpRemoveStatement' => __DIR__ . 
'/includes/ChangeOp/ChangeOpRemoveStatement.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpSiteLink' => __DIR__ . 
'/includes/ChangeOp/ChangeOpSiteLink.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpStatement' => __DIR__ . 
'/includes/ChangeOp/ChangeOpStatement.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpStatementRank' => __DIR__ . 
'/includes/ChangeOp/ChangeOpStatementRank.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpValidationException' => __DIR__ . 
'/includes/ChangeOp/ChangeOpValidationException.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOps' => __DIR__ . 
'/includes/ChangeOp/ChangeOps.php',
+       'Wikibase\\Repo\\ChangeOp\\ChangeOpsMerge' => __DIR__ . 
'/includes/ChangeOp/ChangeOpsMerge.php',
+       
'Wikibase\\Repo\\ChangeOp\\Deserialization\\AliasesChangeOpDeserializer' => 
__DIR__ . '/includes/ChangeOp/Deserialization/AliasesChangeOpDeserializer.php',
+       
'Wikibase\\Repo\\ChangeOp\\Deserialization\\ChangeOpDeserializationException' 
=> __DIR__ . 
'/includes/ChangeOp/Deserialization/ChangeOpDeserializationException.php',
+       
'Wikibase\\Repo\\ChangeOp\\Deserialization\\ChangeOpDeserializerFactory' => 
__DIR__ . '/includes/ChangeOp/Deserialization/ChangeOpDeserializerFactory.php',
+       'Wikibase\\Repo\\ChangeOp\\Deserialization\\ClaimsChangeOpDeserializer' 
=> __DIR__ . 
'/includes/ChangeOp/Deserialization/ClaimsChangeOpDeserializer.php',
+       
'Wikibase\\Repo\\ChangeOp\\Deserialization\\DescriptionsChangeOpDeserializer' 
=> __DIR__ . 
'/includes/ChangeOp/Deserialization/DescriptionsChangeOpDeserializer.php',
+       'Wikibase\\Repo\\ChangeOp\\Deserialization\\ItemChangeOpDeserializer' 
=> __DIR__ . '/includes/ChangeOp/Deserialization/ItemChangeOpDeserializer.php',
+       'Wikibase\\Repo\\ChangeOp\\Deserialization\\LabelsChangeOpDeserializer' 
=> __DIR__ . 
'/includes/ChangeOp/Deserialization/LabelsChangeOpDeserializer.php',
+       
'Wikibase\\Repo\\ChangeOp\\Deserialization\\PropertyChangeOpDeserializer' => 
__DIR__ . '/includes/ChangeOp/Deserialization/PropertyChangeOpDeserializer.php',
+       
'Wikibase\\Repo\\ChangeOp\\Deserialization\\SiteLinkBadgeChangeOpSerializationValidator'
 => __DIR__ . 
'/includes/ChangeOp/Deserialization/SiteLinkBadgeChangeOpSerializationValidator.php',
+       
'Wikibase\\Repo\\ChangeOp\\Deserialization\\SiteLinksChangeOpDeserializer' => 
__DIR__ . 
'/includes/ChangeOp/Deserialization/SiteLinksChangeOpDeserializer.php',
+       
'Wikibase\\Repo\\ChangeOp\\Deserialization\\TermChangeOpSerializationValidator' 
=> __DIR__ . 
'/includes/ChangeOp/Deserialization/TermChangeOpSerializationValidator.php',
+       'Wikibase\\Repo\\ChangeOp\\EntityChangeOpProvider' => __DIR__ . 
'/includes/ChangeOp/EntityChangeOpProvider.php',
+       'Wikibase\\Repo\\ChangeOp\\FingerprintChangeOpFactory' => __DIR__ . 
'/includes/ChangeOp/FingerprintChangeOpFactory.php',
+       'Wikibase\\Repo\\ChangeOp\\MergeChangeOpsFactory' => __DIR__ . 
'/includes/ChangeOp/MergeChangeOpsFactory.php',
+       'Wikibase\\Repo\\ChangeOp\\NullChangeOp' => __DIR__ . 
'/includes/ChangeOp/NullChangeOp.php',
+       'Wikibase\\Repo\\ChangeOp\\SiteLinkChangeOpFactory' => __DIR__ . 
'/includes/ChangeOp/SiteLinkChangeOpFactory.php',
+       'Wikibase\\Repo\\ChangeOp\\StatementChangeOpFactory' => __DIR__ . 
'/includes/ChangeOp/StatementChangeOpFactory.php',
+       'Wikibase\\Repo\\ChangePruner' => __DIR__ . 
'/includes/ChangePruner.php',
+       'Wikibase\\Repo\\Content\\DataUpdateAdapter' => __DIR__ . 
'/includes/Content/DataUpdateAdapter.php',
+       'Wikibase\\Repo\\Content\\EntityContentDiff' => __DIR__ . 
'/includes/Content/EntityContentDiff.php',
+       'Wikibase\\Repo\\Content\\EntityContentFactory' => __DIR__ . 
'/includes/Content/EntityContentFactory.php',
+       'Wikibase\\Repo\\Content\\EntityHandler' => __DIR__ . 
'/includes/Content/EntityHandler.php',
+       'Wikibase\\Repo\\Content\\ItemHandler' => __DIR__ . 
'/includes/Content/ItemHandler.php',
+       'Wikibase\\Repo\\Content\\PropertyHandler' => __DIR__ . 
'/includes/Content/PropertyHandler.php',
+       'Wikibase\\Repo\\DataTypeValidatorFactory' => __DIR__ . 
'/includes/DataTypeValidatorFactory.php',
+       'Wikibase\\Repo\\Diff\\BasicDiffView' => __DIR__ . 
'/includes/Diff/BasicDiffView.php',
+       'Wikibase\\Repo\\Diff\\BasicEntityDiffVisualizer' => __DIR__ . 
'/includes/Diff/BasicEntityDiffVisualizer.php',
+       'Wikibase\\Repo\\Diff\\ClaimDiffer' => __DIR__ . 
'/includes/Diff/ClaimDiffer.php',
+       'Wikibase\\Repo\\Diff\\ClaimDifference' => __DIR__ . 
'/includes/Diff/ClaimDifference.php',
+       'Wikibase\\Repo\\Diff\\ClaimDifferenceVisualizer' => __DIR__ . 
'/includes/Diff/ClaimDifferenceVisualizer.php',
+       'Wikibase\\Repo\\Diff\\DiffOpValueFormatter' => __DIR__ . 
'/includes/Diff/DiffOpValueFormatter.php',
+       'Wikibase\\Repo\\Diff\\DiffView' => __DIR__ . 
'/includes/Diff/DiffView.php',
+       'Wikibase\\Repo\\Diff\\DifferencesSnakVisualizer' => __DIR__ . 
'/includes/Diff/DifferencesSnakVisualizer.php',
+       'Wikibase\\Repo\\Diff\\DispatchingEntityDiffVisualizer' => __DIR__ . 
'/includes/Diff/DispatchingEntityDiffVisualizer.php',
+       'Wikibase\\Repo\\Diff\\EntityContentDiffView' => __DIR__ . 
'/includes/Diff/EntityContentDiffView.php',
+       'Wikibase\\Repo\\Diff\\EntityDiffVisualizer' => __DIR__ . 
'/includes/Diff/EntityDiffVisualizer.php',
+       'Wikibase\\Repo\\Diff\\EntityDiffVisualizerFactory' => __DIR__ . 
'/includes/Diff/EntityDiffVisualizerFactory.php',
+       'Wikibase\\Repo\\Diff\\ItemDiffView' => __DIR__ . 
'/includes/Diff/ItemDiffView.php',
+       'Wikibase\\Repo\\Diff\\ItemDiffVisualizer' => __DIR__ . 
'/includes/Diff/ItemDiffVisualizer.php',
+       'Wikibase\\Repo\\DispatchingEntityTypeStatementGrouper' => __DIR__ . 
'/includes/DispatchingEntityTypeStatementGrouper.php',
+       'Wikibase\\Repo\\EntityIdHtmlLinkFormatterFactory' => __DIR__ . 
'/includes/EntityIdHtmlLinkFormatterFactory.php',
+       'Wikibase\\Repo\\EntityIdLabelFormatterFactory' => __DIR__ . 
'/includes/EntityIdLabelFormatterFactory.php',
+       'Wikibase\\Repo\\FingerprintSearchTextGenerator' => __DIR__ . 
'/includes/FingerprintSearchTextGenerator.php',
+       'Wikibase\\Repo\\GenericEventDispatcher' => __DIR__ . 
'/includes/GenericEventDispatcher.php',
+       'Wikibase\\Repo\\Hooks\\EditFilterHookRunner' => __DIR__ . 
'/includes/Hooks/EditFilterHookRunner.php',
+       'Wikibase\\Repo\\Hooks\\InfoActionHookHandler' => __DIR__ . 
'/includes/Hooks/InfoActionHookHandler.php',
+       'Wikibase\\Repo\\Hooks\\LabelPrefetchHookHandlers' => __DIR__ . 
'/includes/Hooks/LabelPrefetchHookHandlers.php',
+       'Wikibase\\Repo\\Hooks\\LinkBeginHookHandler' => __DIR__ . 
'/includes/Hooks/LinkBeginHookHandler.php',
+       'Wikibase\\Repo\\Hooks\\OutputPageBeforeHTMLHookHandler' => __DIR__ . 
'/includes/Hooks/OutputPageBeforeHTMLHookHandler.php',
+       'Wikibase\\Repo\\Hooks\\OutputPageEntityIdReader' => __DIR__ . 
'/includes/Hooks/OutputPageEntityIdReader.php',
+       'Wikibase\\Repo\\Hooks\\OutputPageJsConfigHookHandler' => __DIR__ . 
'/includes/Hooks/OutputPageJsConfigHookHandler.php',
+       'Wikibase\\Repo\\Hooks\\ShowSearchHitHandler' => __DIR__ . 
'/includes/Hooks/ShowSearchHitHandler.php',
+       'Wikibase\\Repo\\IO\\EntityIdReader' => __DIR__ . 
'/includes/IO/EntityIdReader.php',
+       'Wikibase\\Repo\\IO\\LineReader' => __DIR__ . 
'/includes/IO/LineReader.php',
+       'Wikibase\\Repo\\Interactors\\ItemMergeException' => __DIR__ . 
'/includes/Interactors/ItemMergeException.php',
+       'Wikibase\\Repo\\Interactors\\ItemMergeInteractor' => __DIR__ . 
'/includes/Interactors/ItemMergeInteractor.php',
+       'Wikibase\\Repo\\Interactors\\RedirectCreationException' => __DIR__ . 
'/includes/Interactors/RedirectCreationException.php',
+       'Wikibase\\Repo\\Interactors\\RedirectCreationInteractor' => __DIR__ . 
'/includes/Interactors/RedirectCreationInteractor.php',
+       'Wikibase\\Repo\\Interactors\\TokenCheckException' => __DIR__ . 
'/includes/Interactors/TokenCheckException.php',
+       'Wikibase\\Repo\\Interactors\\TokenCheckInteractor' => __DIR__ . 
'/includes/Interactors/TokenCheckInteractor.php',
+       'Wikibase\\Repo\\ItemSearchTextGenerator' => __DIR__ . 
'/includes/ItemSearchTextGenerator.php',
+       'Wikibase\\Repo\\LinkedData\\EntityDataFormatProvider' => __DIR__ . 
'/includes/LinkedData/EntityDataFormatProvider.php',
+       'Wikibase\\Repo\\LinkedData\\EntityDataRequestHandler' => __DIR__ . 
'/includes/LinkedData/EntityDataRequestHandler.php',
+       'Wikibase\\Repo\\LinkedData\\EntityDataSerializationService' => __DIR__ 
. '/includes/LinkedData/EntityDataSerializationService.php',
+       'Wikibase\\Repo\\LinkedData\\EntityDataUriManager' => __DIR__ . 
'/includes/LinkedData/EntityDataUriManager.php',
+       'Wikibase\\Repo\\Localizer\\ChangeOpDeserializationExceptionLocalizer' 
=> __DIR__ . 
'/includes/Localizer/ChangeOpDeserializationExceptionLocalizer.php',
+       'Wikibase\\Repo\\Localizer\\ChangeOpValidationExceptionLocalizer' => 
__DIR__ . '/includes/Localizer/ChangeOpValidationExceptionLocalizer.php',
+       'Wikibase\\Repo\\Localizer\\DispatchingExceptionLocalizer' => __DIR__ . 
'/includes/Localizer/DispatchingExceptionLocalizer.php',
+       'Wikibase\\Repo\\Localizer\\ExceptionLocalizer' => __DIR__ . 
'/includes/Localizer/ExceptionLocalizer.php',
+       'Wikibase\\Repo\\Localizer\\GenericExceptionLocalizer' => __DIR__ . 
'/includes/Localizer/GenericExceptionLocalizer.php',
+       'Wikibase\\Repo\\Localizer\\MessageExceptionLocalizer' => __DIR__ . 
'/includes/Localizer/MessageExceptionLocalizer.php',
+       'Wikibase\\Repo\\Localizer\\MessageParameterFormatter' => __DIR__ . 
'/includes/Localizer/MessageParameterFormatter.php',
+       'Wikibase\\Repo\\Localizer\\ParseExceptionLocalizer' => __DIR__ . 
'/includes/Localizer/ParseExceptionLocalizer.php',
+       'Wikibase\\Repo\\Maintenance\\PopulateTermFullEntityId' => __DIR__ . 
'/maintenance/populateTermFullEntityId.php',
+       'Wikibase\\Repo\\Maintenance\\RebuildItemsPerSite' => __DIR__ . 
'/maintenance/rebuildItemsPerSite.php',
+       'Wikibase\\Repo\\Maintenance\\SPARQLClient' => __DIR__ . 
'/maintenance/SPARQLClient.php',
+       'Wikibase\\Repo\\Maintenance\\SPARQLException' => __DIR__ . 
'/maintenance/SPARQLException.php',
+       'Wikibase\\Repo\\MediaWikiLanguageDirectionalityLookup' => __DIR__ . 
'/includes/MediaWikiLanguageDirectionalityLookup.php',
+       'Wikibase\\Repo\\MediaWikiLocalizedTextProvider' => __DIR__ . 
'/includes/MediaWikiLocalizedTextProvider.php',
+       'Wikibase\\Repo\\Modules\\EntityTypesConfigValueProvider' => __DIR__ . 
'/includes/Modules/EntityTypesConfigValueProvider.php',
+       'Wikibase\\Repo\\Modules\\MediaWikiConfigModule' => __DIR__ . 
'/includes/Modules/MediaWikiConfigModule.php',
+       'Wikibase\\Repo\\Modules\\MediaWikiConfigValueProvider' => __DIR__ . 
'/includes/Modules/MediaWikiConfigValueProvider.php',
+       'Wikibase\\Repo\\Modules\\PropertyValueExpertsModule' => __DIR__ . 
'/includes/Modules/PropertyValueExpertsModule.php',
+       'Wikibase\\Repo\\Modules\\SettingsValueProvider' => __DIR__ . 
'/includes/Modules/SettingsValueProvider.php',
+       'Wikibase\\Repo\\Notifications\\ChangeNotificationSender' => __DIR__ . 
'/includes/Notifications/ChangeNotificationSender.php',
+       'Wikibase\\Repo\\Notifications\\ChangeNotifier' => __DIR__ . 
'/includes/Notifications/ChangeNotifier.php',
+       'Wikibase\\Repo\\Notifications\\ChangeTransmitter' => __DIR__ . 
'/includes/Notifications/ChangeTransmitter.php',
+       'Wikibase\\Repo\\Notifications\\ChangeTransmitterException' => __DIR__ 
. '/includes/Notifications/ChangeTransmitterException.php',
+       'Wikibase\\Repo\\Notifications\\DatabaseChangeTransmitter' => __DIR__ . 
'/includes/Notifications/DatabaseChangeTransmitter.php',
+       'Wikibase\\Repo\\Notifications\\HookChangeTransmitter' => __DIR__ . 
'/includes/Notifications/HookChangeTransmitter.php',
+       'Wikibase\\Repo\\Notifications\\JobQueueChangeNotificationSender' => 
__DIR__ . '/includes/Notifications/JobQueueChangeNotificationSender.php',
+       'Wikibase\\Repo\\ParserOutput\\DispatchingEntityViewFactory' => __DIR__ 
. '/includes/ParserOutput/DispatchingEntityViewFactory.php',
+       'Wikibase\\Repo\\ParserOutput\\EntityParserOutputDataUpdater' => 
__DIR__ . '/includes/ParserOutput/EntityParserOutputDataUpdater.php',
+       'Wikibase\\Repo\\ParserOutput\\EntityParserOutputGenerator' => __DIR__ 
. '/includes/ParserOutput/EntityParserOutputGenerator.php',
+       'Wikibase\\Repo\\ParserOutput\\EntityParserOutputGeneratorFactory' => 
__DIR__ . '/includes/ParserOutput/EntityParserOutputGeneratorFactory.php',
+       'Wikibase\\Repo\\ParserOutput\\EntityViewPlaceholderExpander' => 
__DIR__ . '/includes/ParserOutput/EntityViewPlaceholderExpander.php',
+       'Wikibase\\Repo\\ParserOutput\\ExternalLinksDataUpdater' => __DIR__ . 
'/includes/ParserOutput/ExternalLinksDataUpdater.php',
+       'Wikibase\\Repo\\ParserOutput\\FallbackHintHtmlTermRenderer' => __DIR__ 
. '/includes/ParserOutput/FallbackHintHtmlTermRenderer.php',
+       'Wikibase\\Repo\\ParserOutput\\GeoDataDataUpdater' => __DIR__ . 
'/includes/ParserOutput/GeoDataDataUpdater.php',
+       'Wikibase\\Repo\\ParserOutput\\ImageLinksDataUpdater' => __DIR__ . 
'/includes/ParserOutput/ImageLinksDataUpdater.php',
+       'Wikibase\\Repo\\ParserOutput\\PageImagesDataUpdater' => __DIR__ . 
'/includes/ParserOutput/PageImagesDataUpdater.php',
+       'Wikibase\\Repo\\ParserOutput\\ParserOutputDataUpdater' => __DIR__ . 
'/includes/ParserOutput/ParserOutputDataUpdater.php',
+       'Wikibase\\Repo\\ParserOutput\\ParserOutputJsConfigBuilder' => __DIR__ 
. '/includes/ParserOutput/ParserOutputJsConfigBuilder.php',
+       'Wikibase\\Repo\\ParserOutput\\PlaceholderEmittingEntityTermsView' => 
__DIR__ . '/includes/ParserOutput/PlaceholderEmittingEntityTermsView.php',
+       'Wikibase\\Repo\\ParserOutput\\ReferencedEntitiesDataUpdater' => 
__DIR__ . '/includes/ParserOutput/ReferencedEntitiesDataUpdater.php',
+       'Wikibase\\Repo\\ParserOutput\\SiteLinkDataUpdater' => __DIR__ . 
'/includes/ParserOutput/SiteLinkDataUpdater.php',
+       'Wikibase\\Repo\\ParserOutput\\StatementDataUpdater' => __DIR__ . 
'/includes/ParserOutput/StatementDataUpdater.php',
+       'Wikibase\\Repo\\ParserOutput\\TextInjector' => __DIR__ . 
'/includes/ParserOutput/TextInjector.php',
+       'Wikibase\\Repo\\Parsers\\EntityIdValueParser' => __DIR__ . 
'/includes/Parsers/EntityIdValueParser.php',
+       'Wikibase\\Repo\\Parsers\\MediaWikiMonthNameProvider' => __DIR__ . 
'/includes/Parsers/MediaWikiMonthNameProvider.php',
+       'Wikibase\\Repo\\Parsers\\MediaWikiNumberUnlocalizer' => __DIR__ . 
'/includes/Parsers/MediaWikiNumberUnlocalizer.php',
+       'Wikibase\\Repo\\Parsers\\MonolingualTextParser' => __DIR__ . 
'/includes/Parsers/MonolingualTextParser.php',
+       'Wikibase\\Repo\\Parsers\\MwTimeIsoParser' => __DIR__ . 
'/includes/Parsers/MwTimeIsoParser.php',
+       'Wikibase\\Repo\\Parsers\\TimeParserFactory' => __DIR__ . 
'/includes/Parsers/TimeParserFactory.php',
+       'Wikibase\\Repo\\Parsers\\WikibaseStringValueNormalizer' => __DIR__ . 
'/includes/Parsers/WikibaseStringValueNormalizer.php',
+       'Wikibase\\Repo\\PidLock' => __DIR__ . '/includes/PidLock.php',
+       'Wikibase\\Repo\\PropertyDataTypeChanger' => __DIR__ . 
'/includes/PropertyDataTypeChanger.php',
+       'Wikibase\\Repo\\Rdf\\Values\\GeoShapeRdfBuilder' => __DIR__ . 
'/includes/Rdf/Values/GeoShapeRdfBuilder.php',
+       'Wikibase\\Repo\\Rdf\\Values\\TabularDataRdfBuilder' => __DIR__ . 
'/includes/Rdf/Values/TabularDataRdfBuilder.php',
+       'Wikibase\\Repo\\Search\\Elastic\\ElasticTermResult' => __DIR__ . 
'/includes/Search/Elastic/ElasticTermResult.php',
+       'Wikibase\\Repo\\Search\\Elastic\\EntitySearchElastic' => __DIR__ . 
'/includes/Search/Elastic/EntitySearchElastic.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\AllLabelsField' => __DIR__ . 
'/includes/Search/Elastic/Fields/AllLabelsField.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\DescriptionsField' => __DIR__ 
. '/includes/Search/Elastic/Fields/DescriptionsField.php',
+       
'Wikibase\\Repo\\Search\\Elastic\\Fields\\DescriptionsProviderFieldDefinitions' 
=> __DIR__ . 
'/includes/Search/Elastic/Fields/DescriptionsProviderFieldDefinitions.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\FieldDefinitions' => __DIR__ 
. '/includes/Search/Elastic/Fields/FieldDefinitions.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\ItemFieldDefinitions' => 
__DIR__ . '/includes/Search/Elastic/Fields/ItemFieldDefinitions.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\LabelCountField' => __DIR__ . 
'/includes/Search/Elastic/Fields/LabelCountField.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\LabelsField' => __DIR__ . 
'/includes/Search/Elastic/Fields/LabelsField.php',
+       
'Wikibase\\Repo\\Search\\Elastic\\Fields\\LabelsProviderFieldDefinitions' => 
__DIR__ . '/includes/Search/Elastic/Fields/LabelsProviderFieldDefinitons.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\PropertyFieldDefinitions' => 
__DIR__ . '/includes/Search/Elastic/Fields/PropertyFieldDefinitions.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\SiteLinkCountField' => 
__DIR__ . '/includes/Search/Elastic/Fields/SiteLinkCountField.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\StatementCountField' => 
__DIR__ . '/includes/Search/Elastic/Fields/StatementCountField.php',
+       
'Wikibase\\Repo\\Search\\Elastic\\Fields\\StatementProviderFieldDefinitions' => 
__DIR__ . 
'/includes/Search/Elastic/Fields/StatementProviderFieldDefinitions.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\StatementsField' => __DIR__ . 
'/includes/Search/Elastic/Fields/StatementsField.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\TermIndexField' => __DIR__ . 
'/includes/Search/Elastic/Fields/TermIndexField.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\WikibaseIndexField' => 
__DIR__ . '/includes/Search/Elastic/Fields/WikibaseIndexField.php',
+       'Wikibase\\Repo\\Search\\Elastic\\Fields\\WikibaseNumericField' => 
__DIR__ . '/includes/Search/Elastic/Fields/WikibaseNumericField.php',
+       'Wikibase\\Repo\\Search\\Elastic\\StatementBoostScoreBuilder' => 
__DIR__ . '/includes/Search/Elastic/StatementBoostScoreBuilder.php',
+       'Wikibase\\Repo\\Search\\Elastic\\WikibasePrefixSearcher' => __DIR__ . 
'/includes/Search/Elastic/WikibasePrefixSearcher.php',
+       'Wikibase\\Repo\\SiteLinkTargetProvider' => __DIR__ . 
'/includes/SiteLinkTargetProvider.php',
+       'Wikibase\\Repo\\SnakFactory' => __DIR__ . '/includes/SnakFactory.php',
+       'Wikibase\\Repo\\Specials\\HTMLForm\\HTMLAliasesField' => __DIR__ . 
'/includes/Specials/HTMLForm/HTMLAliasesField.php',
+       'Wikibase\\Repo\\Specials\\HTMLForm\\HTMLContentLanguageField' => 
__DIR__ . '/includes/Specials/HTMLForm/HTMLContentLanguageField.php',
+       'Wikibase\\Repo\\Specials\\HTMLForm\\HTMLItemReferenceField' => __DIR__ 
. '/includes/Specials/HTMLForm/HTMLItemReferenceField.php',
+       'Wikibase\\Repo\\Specials\\HTMLForm\\HTMLTrimmedTextField' => __DIR__ . 
'/includes/Specials/HTMLForm/HTMLTrimmedTextField.php',
+       'Wikibase\\Repo\\Specials\\SpecialAvailableBadges' => __DIR__ . 
'/includes/Specials/SpecialAvailableBadges.php',
+       'Wikibase\\Repo\\Specials\\SpecialDispatchStats' => __DIR__ . 
'/includes/Specials/SpecialDispatchStats.php',
+       'Wikibase\\Repo\\Specials\\SpecialEntitiesWithoutPage' => __DIR__ . 
'/includes/Specials/SpecialEntitiesWithoutPage.php',
+       'Wikibase\\Repo\\Specials\\SpecialEntitiesWithoutPageFactory' => 
__DIR__ . '/includes/Specials/SpecialEntitiesWithoutPageFactory.php',
+       'Wikibase\\Repo\\Specials\\SpecialEntityData' => __DIR__ . 
'/includes/Specials/SpecialEntityData.php',
+       'Wikibase\\Repo\\Specials\\SpecialEntityPage' => __DIR__ . 
'/includes/Specials/SpecialEntityPage.php',
+       'Wikibase\\Repo\\Specials\\SpecialGoToLinkedPage' => __DIR__ . 
'/includes/Specials/SpecialGoToLinkedPage.php',
+       'Wikibase\\Repo\\Specials\\SpecialItemByTitle' => __DIR__ . 
'/includes/Specials/SpecialItemByTitle.php',
+       'Wikibase\\Repo\\Specials\\SpecialItemDisambiguation' => __DIR__ . 
'/includes/Specials/SpecialItemDisambiguation.php',
+       'Wikibase\\Repo\\Specials\\SpecialItemsWithoutSitelinks' => __DIR__ . 
'/includes/Specials/SpecialItemsWithoutSitelinks.php',
+       'Wikibase\\Repo\\Specials\\SpecialListDatatypes' => __DIR__ . 
'/includes/Specials/SpecialListDatatypes.php',
+       'Wikibase\\Repo\\Specials\\SpecialListProperties' => __DIR__ . 
'/includes/Specials/SpecialListProperties.php',
+       'Wikibase\\Repo\\Specials\\SpecialMergeItems' => __DIR__ . 
'/includes/Specials/SpecialMergeItems.php',
+       'Wikibase\\Repo\\Specials\\SpecialModifyEntity' => __DIR__ . 
'/includes/Specials/SpecialModifyEntity.php',
+       'Wikibase\\Repo\\Specials\\SpecialModifyTerm' => __DIR__ . 
'/includes/Specials/SpecialModifyTerm.php',
+       'Wikibase\\Repo\\Specials\\SpecialMyLanguageFallbackChain' => __DIR__ . 
'/includes/Specials/SpecialMyLanguageFallbackChain.php',
+       'Wikibase\\Repo\\Specials\\SpecialNewEntity' => __DIR__ . 
'/includes/Specials/SpecialNewEntity.php',
+       'Wikibase\\Repo\\Specials\\SpecialNewItem' => __DIR__ . 
'/includes/Specials/SpecialNewItem.php',
+       'Wikibase\\Repo\\Specials\\SpecialNewProperty' => __DIR__ . 
'/includes/Specials/SpecialNewProperty.php',
+       'Wikibase\\Repo\\Specials\\SpecialPageCopyrightView' => __DIR__ . 
'/includes/Specials/SpecialPageCopyrightView.php',
+       'Wikibase\\Repo\\Specials\\SpecialRedirectEntity' => __DIR__ . 
'/includes/Specials/SpecialRedirectEntity.php',
+       'Wikibase\\Repo\\Specials\\SpecialSetAliases' => __DIR__ . 
'/includes/Specials/SpecialSetAliases.php',
+       'Wikibase\\Repo\\Specials\\SpecialSetDescription' => __DIR__ . 
'/includes/Specials/SpecialSetDescription.php',
+       'Wikibase\\Repo\\Specials\\SpecialSetLabel' => __DIR__ . 
'/includes/Specials/SpecialSetLabel.php',
+       'Wikibase\\Repo\\Specials\\SpecialSetLabelDescriptionAliases' => 
__DIR__ . '/includes/Specials/SpecialSetLabelDescriptionAliases.php',
+       'Wikibase\\Repo\\Specials\\SpecialSetSiteLink' => __DIR__ . 
'/includes/Specials/SpecialSetSiteLink.php',
+       'Wikibase\\Repo\\Specials\\SpecialWikibasePage' => __DIR__ . 
'/includes/Specials/SpecialWikibasePage.php',
+       'Wikibase\\Repo\\Specials\\SpecialWikibaseQueryPage' => __DIR__ . 
'/includes/Specials/SpecialWikibaseQueryPage.php',
+       'Wikibase\\Repo\\Specials\\SpecialWikibaseRepoPage' => __DIR__ . 
'/includes/Specials/SpecialWikibaseRepoPage.php',
+       'Wikibase\\Repo\\StatementGrouperBuilder' => __DIR__ . 
'/includes/StatementGrouperBuilder.php',
+       'Wikibase\\Repo\\Store\\ChangeStore' => __DIR__ . 
'/includes/Store/ChangeStore.php',
+       'Wikibase\\Repo\\Store\\DispatchingEntityStoreWatcher' => __DIR__ . 
'/includes/Store/DispatchingEntityStoreWatcher.php',
+       'Wikibase\\Repo\\Store\\EntitiesWithoutTermFinder' => __DIR__ . 
'/includes/Store/EntitiesWithoutTermFinder.php',
+       'Wikibase\\Repo\\Store\\EntityPermissionChecker' => __DIR__ . 
'/includes/Store/EntityPermissionChecker.php',
+       'Wikibase\\Repo\\Store\\EntityTitleStoreLookup' => __DIR__ . 
'/includes/Store/EntityTitleStoreLookup.php',
+       'Wikibase\\Repo\\Store\\ItemsWithoutSitelinksFinder' => __DIR__ . 
'/includes/Store/ItemsWithoutSitelinksFinder.php',
+       'Wikibase\\Repo\\Store\\SiteLinkConflictLookup' => __DIR__ . 
'/includes/Store/SiteLinkConflictLookup.php',
+       'Wikibase\\Repo\\Store\\Sql\\ChangesSubscriptionSchemaUpdater' => 
__DIR__ . '/includes/Store/Sql/ChangesSubscriptionSchemaUpdater.php',
+       'Wikibase\\Repo\\Store\\Sql\\ChangesSubscriptionTableBuilder' => 
__DIR__ . '/includes/Store/Sql/ChangesSubscriptionTableBuilder.php',
+       'Wikibase\\Repo\\Store\\Sql\\DatabaseSchemaUpdater' => __DIR__ . 
'/includes/Store/Sql/DatabaseSchemaUpdater.php',
+       'Wikibase\\Repo\\Store\\Sql\\ItemsPerSiteBuilder' => __DIR__ . 
'/includes/Store/Sql/ItemsPerSiteBuilder.php',
+       'Wikibase\\Repo\\Store\\Sql\\LockManagerSqlChangeDispatchCoordinator' 
=> __DIR__ . '/includes/Store/Sql/LockManagerSqlChangeDispatchCoordinator.php',
+       'Wikibase\\Repo\\Store\\Sql\\SqlChangeStore' => __DIR__ . 
'/includes/Store/Sql/SqlChangeStore.php',
+       'Wikibase\\Repo\\Store\\Sql\\SqlEntitiesWithoutTermFinder' => __DIR__ . 
'/includes/Store/Sql/SqlEntitiesWithoutTermFinder.php',
+       'Wikibase\\Repo\\Store\\Sql\\SqlEntityIdPager' => __DIR__ . 
'/includes/Store/Sql/SqlEntityIdPager.php',
+       'Wikibase\\Repo\\Store\\Sql\\SqlEntityIdPagerFactory' => __DIR__ . 
'/includes/Store/Sql/SqlEntityIdPagerFactory.php',
+       'Wikibase\\Repo\\Store\\Sql\\SqlItemsWithoutSitelinksFinder' => __DIR__ 
. '/includes/Store/Sql/SqlItemsWithoutSitelinksFinder.php',
+       'Wikibase\\Repo\\Store\\Sql\\SqlSiteLinkConflictLookup' => __DIR__ . 
'/includes/Store/Sql/SqlSiteLinkConflictLookup.php',
+       'Wikibase\\Repo\\Store\\Sql\\TermSqlIndexBuilder' => __DIR__ . 
'/includes/Store/Sql/TermSqlIndexBuilder.php',
+       'Wikibase\\Repo\\Store\\Sql\\WikiPageEntityRedirectLookup' => __DIR__ . 
'/includes/Store/Sql/WikiPageEntityRedirectLookup.php',
+       'Wikibase\\Repo\\Store\\WikiPageEntityStore' => __DIR__ . 
'/includes/Store/Sql/WikiPageEntityStore.php',
+       'Wikibase\\Repo\\Store\\WikiPageEntityStorePermissionChecker' => 
__DIR__ . '/includes/Store/WikiPageEntityStorePermissionChecker.php',
+       'Wikibase\\Repo\\Tests\\Actions\\ActionTestCase' => __DIR__ . 
'/tests/phpunit/includes/Actions/ActionTestCase.php',
+       'Wikibase\\Repo\\Tests\\Api\\ApiFormatTestCase' => __DIR__ . 
'/tests/phpunit/includes/Api/ApiFormatTestCase.php',
+       'Wikibase\\Repo\\Tests\\Api\\ApiModuleTestHelper' => __DIR__ . 
'/tests/phpunit/includes/Api/ApiModuleTestHelper.php',
+       'Wikibase\\Repo\\Tests\\Api\\EntityTestHelper' => __DIR__ . 
'/tests/phpunit/includes/Api/EntityTestHelper.php',
+       'Wikibase\\Repo\\Tests\\Api\\ModifyTermTestCase' => __DIR__ . 
'/tests/phpunit/includes/Api/ModifyTermTestCase.php',
+       'Wikibase\\Repo\\Tests\\Api\\PermissionsTestCase' => __DIR__ . 
'/tests/phpunit/includes/Api/PermissionsTestCase.php',
+       'Wikibase\\Repo\\Tests\\Api\\TermTestHelper' => __DIR__ . 
'/tests/phpunit/includes/Api/TermTestHelper.php',
+       'Wikibase\\Repo\\Tests\\Api\\WikibaseApiTestCase' => __DIR__ . 
'/tests/phpunit/includes/Api/WikibaseApiTestCase.php',
+       'Wikibase\\Repo\\Tests\\BabelUserLanguageLookupDouble' => __DIR__ . 
'/tests/phpunit/includes/BabelUserLanguageLookupDouble.php',
+       'Wikibase\\Repo\\Tests\\ChangeOp\\ChangeOpTestMockProvider' => __DIR__ 
. '/tests/phpunit/includes/ChangeOp/ChangeOpTestMockProvider.php',
+       
'Wikibase\\Repo\\Tests\\ChangeOp\\Deserialization\\AliasChangeOpDeserializationTester'
 => __DIR__ . 
'/tests/phpunit/includes/ChangeOp/Deserialization/AliasChangeOpDeserializationTester.php',
+       
'Wikibase\\Repo\\Tests\\ChangeOp\\Deserialization\\ChangeOpDeserializationAssert'
 => __DIR__ . 
'/tests/phpunit/includes/ChangeOp/Deserialization/ChangeOpDeserializationAssert.php',
+       
'Wikibase\\Repo\\Tests\\ChangeOp\\Deserialization\\ClaimsChangeOpDeserializationTester'
 => __DIR__ . 
'/tests/phpunit/includes/ChangeOp/Deserialization/ClaimsChangeOpDeserializationTester.php',
+       
'Wikibase\\Repo\\Tests\\ChangeOp\\Deserialization\\DescriptionsChangeOpDeserializationTester'
 => __DIR__ . 
'/tests/phpunit/includes/ChangeOp/Deserialization/DescriptionsChangeOpDeserializationTester.php',
+       
'Wikibase\\Repo\\Tests\\ChangeOp\\Deserialization\\LabelsChangeOpDeserializationTester'
 => __DIR__ . 
'/tests/phpunit/includes/ChangeOp/Deserialization/LabelsChangeOpDeserializationTester.php',
+       'Wikibase\\Repo\\Tests\\ChangeOp\\StatementListProviderDummy' => 
__DIR__ . '/tests/phpunit/includes/ChangeOp/StatementListProviderDummy.php',
+       'Wikibase\\Repo\\Tests\\EntityModificationTestHelper' => __DIR__ . 
'/tests/phpunit/includes/EntityModificationTestHelper.php',
+       'Wikibase\\Repo\\Tests\\LinkedData\\EntityDataTestProvider' => __DIR__ 
. '/tests/phpunit/includes/LinkedData/EntityDataTestProvider.php',
+       'Wikibase\\Repo\\Tests\\NewItem' => __DIR__ . 
'/tests/phpunit/includes/NewItem.php',
+       'Wikibase\\Repo\\Tests\\NewStatement' => __DIR__ . 
'/tests/phpunit/includes/NewStatement.php',
+       'Wikibase\\Repo\\Tests\\PermissionsHelper' => __DIR__ . 
'/tests/phpunit/includes/PermissionsHelper.php',
+       'Wikibase\\Repo\\Tests\\Rdf\\NTriplesRdfTestHelper' => __DIR__ . 
'/tests/phpunit/includes/Rdf/NTriplesRdfTestHelper.php',
+       'Wikibase\\Repo\\Tests\\Rdf\\RdfBuilderTestData' => __DIR__ . 
'/tests/phpunit/includes/Rdf/RdfBuilderTestData.php',
+       
'Wikibase\\Repo\\Tests\\Search\\Elastic\\Fields\\WikibaseNumericFieldTest' => 
__DIR__ . 
'/tests/phpunit/includes/Search/Elastic/Fields/WikibaseNumericFieldTest.php',
+       'Wikibase\\Repo\\Tests\\Specials\\HtmlAssertionHelpers' => __DIR__ . 
'/tests/phpunit/includes/Specials/HtmlAssertionHelpers.php',
+       'Wikibase\\Repo\\Tests\\Specials\\SpecialModifyTermTestCase' => __DIR__ 
. '/tests/phpunit/includes/Specials/SpecialModifyTermTestCase.php',
+       'Wikibase\\Repo\\Tests\\Specials\\SpecialWikibaseRepoPageTestBase' => 
__DIR__ . 
'/tests/phpunit/includes/Specials/SpecialWikibaseRepoPageTestBase.php',
+       'Wikibase\\Repo\\Tests\\Store\\MockEntityIdPager' => __DIR__ . 
'/tests/phpunit/includes/Store/MockEntityIdPager.php',
+       'Wikibase\\Repo\\Tests\\Validators\\TestValidator' => __DIR__ . 
'/tests/phpunit/includes/Validators/TestValidator.php',
+       'Wikibase\\Repo\\UpdateRepo\\UpdateRepoJob' => __DIR__ . 
'/includes/UpdateRepo/UpdateRepoJob.php',
+       'Wikibase\\Repo\\UpdateRepo\\UpdateRepoOnDeleteJob' => __DIR__ . 
'/includes/UpdateRepo/UpdateRepoOnDeleteJob.php',
+       'Wikibase\\Repo\\UpdateRepo\\UpdateRepoOnMoveJob' => __DIR__ . 
'/includes/UpdateRepo/UpdateRepoOnMoveJob.php',
+       'Wikibase\\Repo\\ValidatorBuilders' => __DIR__ . 
'/includes/ValidatorBuilders.php',
+       'Wikibase\\Repo\\Validators\\AlternativeValidator' => __DIR__ . 
'/includes/Validators/AlternativeValidator.php',
+       'Wikibase\\Repo\\Validators\\CommonsMediaExistsValidator' => __DIR__ . 
'/includes/Validators/CommonsMediaExistsValidator.php',
+       'Wikibase\\Repo\\Validators\\CompositeEntityValidator' => __DIR__ . 
'/includes/Validators/CompositeEntityValidator.php',
+       'Wikibase\\Repo\\Validators\\CompositeValidator' => __DIR__ . 
'/includes/Validators/CompositeValidator.php',
+       'Wikibase\\Repo\\Validators\\DataFieldValidator' => __DIR__ . 
'/includes/Validators/DataFieldValidator.php',
+       'Wikibase\\Repo\\Validators\\DataValueValidator' => __DIR__ . 
'/includes/Validators/DataValueValidator.php',
+       'Wikibase\\Repo\\Validators\\EntityConstraintProvider' => __DIR__ . 
'/includes/Validators/EntityConstraintProvider.php',
+       'Wikibase\\Repo\\Validators\\EntityExistsValidator' => __DIR__ . 
'/includes/Validators/EntityExistsValidator.php',
+       'Wikibase\\Repo\\Validators\\EntityValidator' => __DIR__ . 
'/includes/Validators/EntityValidator.php',
+       'Wikibase\\Repo\\Validators\\FingerprintValidator' => __DIR__ . 
'/includes/Validators/FingerprintValidator.php',
+       'Wikibase\\Repo\\Validators\\ForeignEntityValidator' => __DIR__ . 
'/includes/Validators/ForeignEntityValidator.php',
+       'Wikibase\\Repo\\Validators\\InterWikiLinkExistsValidator' => __DIR__ . 
'/includes/Validators/InterWikiLinkExistsValidator.php',
+       'Wikibase\\Repo\\Validators\\LabelDescriptionUniquenessValidator' => 
__DIR__ . '/includes/Validators/LabelDescriptionUniquenessValidator.php',
+       'Wikibase\\Repo\\Validators\\LabelUniquenessValidator' => __DIR__ . 
'/includes/Validators/LabelUniquenessValidator.php',
+       'Wikibase\\Repo\\Validators\\MembershipValidator' => __DIR__ . 
'/includes/Validators/MembershipValidator.php',
+       'Wikibase\\Repo\\Validators\\NotEntityIdValidator' => __DIR__ . 
'/includes/Validators/NotEntityIdValidator.php',
+       'Wikibase\\Repo\\Validators\\NullFingerprintValidator' => __DIR__ . 
'/includes/Validators/NullFingerprintValidator.php',
+       'Wikibase\\Repo\\Validators\\NumberRangeValidator' => __DIR__ . 
'/includes/Validators/NumberRangeValidator.php',
+       'Wikibase\\Repo\\Validators\\NumberValidator' => __DIR__ . 
'/includes/Validators/NumberValidator.php',
+       'Wikibase\\Repo\\Validators\\RegexValidator' => __DIR__ . 
'/includes/Validators/RegexValidator.php',
+       'Wikibase\\Repo\\Validators\\SiteLinkUniquenessValidator' => __DIR__ . 
'/includes/Validators/SiteLinkUniquenessValidator.php',
+       'Wikibase\\Repo\\Validators\\SnakValidator' => __DIR__ . 
'/includes/Validators/SnakValidator.php',
+       'Wikibase\\Repo\\Validators\\StringLengthValidator' => __DIR__ . 
'/includes/Validators/StringLengthValidator.php',
+       'Wikibase\\Repo\\Validators\\TermValidatorFactory' => __DIR__ . 
'/includes/Validators/TermValidatorFactory.php',
+       'Wikibase\\Repo\\Validators\\TypeValidator' => __DIR__ . 
'/includes/Validators/TypeValidator.php',
+       'Wikibase\\Repo\\Validators\\UniquenessViolation' => __DIR__ . 
'/includes/Validators/UniquenessViolation.php',
+       'Wikibase\\Repo\\Validators\\UrlSchemeValidators' => __DIR__ . 
'/includes/Validators/UrlSchemeValidators.php',
+       'Wikibase\\Repo\\Validators\\UrlValidator' => __DIR__ . 
'/includes/Validators/UrlValidator.php',
+       'Wikibase\\Repo\\Validators\\ValidatorErrorLocalizer' => __DIR__ . 
'/includes/Validators/ValidatorErrorLocalizer.php',
+       'Wikibase\\Repo\\ValueParserFactory' => __DIR__ . 
'/includes/ValueParserFactory.php',
+       'Wikibase\\Repo\\View\\RepoSpecialPageLinker' => __DIR__ . 
'/includes/View/RepoSpecialPageLinker.php',
+       'Wikibase\\Repo\\View\\WikibaseHtmlSnakFormatterFactory' => __DIR__ . 
'/includes/View/WikibaseHtmlSnakFormatterFactory.php',
+       'Wikibase\\Repo\\WikibaseRepo' => __DIR__ . 
'/includes/WikibaseRepo.php',
+       'Wikibase\\SearchEntities' => __DIR__ . 
'/maintenance/searchEntities.php',
+       'Wikibase\\SqlIdGenerator' => __DIR__ . 
'/includes/Store/Sql/SqlIdGenerator.php',
+       'Wikibase\\SqlStore' => __DIR__ . '/includes/Store/Sql/SqlStore.php',
+       'Wikibase\\StatementRankSerializer' => __DIR__ . 
'/includes/StatementRankSerializer.php',
+       'Wikibase\\Store' => __DIR__ . '/includes/Store/Store.php',
+       'Wikibase\\StoreFactory' => __DIR__ . 
'/includes/Store/StoreFactory.php',
+       'Wikibase\\Store\\ChangeDispatchCoordinator' => __DIR__ . 
'/includes/Store/ChangeDispatchCoordinator.php',
+       'Wikibase\\Store\\Sql\\SqlChangeDispatchCoordinator' => __DIR__ . 
'/includes/Store/Sql/SqlChangeDispatchCoordinator.php',
+       'Wikibase\\Store\\Sql\\SqlSubscriptionLookup' => __DIR__ . 
'/includes/Store/Sql/SqlSubscriptionLookup.php',
+       'Wikibase\\Store\\SubscriptionLookup' => __DIR__ . 
'/includes/Store/SubscriptionLookup.php',
+       'Wikibase\\SubmitEntityAction' => __DIR__ . 
'/includes/Actions/SubmitEntityAction.php',
+       'Wikibase\\SummaryFormatter' => __DIR__ . 
'/includes/SummaryFormatter.php',
+       'Wikibase\\TermSearchKeyBuilder' => __DIR__ . 
'/includes/Store/Sql/TermSearchKeyBuilder.php',
+       'Wikibase\\Test\\MockAddUnits' => __DIR__ . 
'/tests/phpunit/maintenance/MockAddUnits.php',
+       'Wikibase\\UpdateUnits' => __DIR__ . '/maintenance/updateUnits.php',
+       'Wikibase\\ViewEntityAction' => __DIR__ . 
'/includes/Actions/ViewEntityAction.php',
+];
diff --git a/scripts/generateAutoload.php b/scripts/generateAutoload.php
new file mode 100644
index 0000000..defd84e
--- /dev/null
+++ b/scripts/generateAutoload.php
@@ -0,0 +1,132 @@
+<?php
+
+// Temporary script to be used as long as MediaWiki extension classes
+// cannot be loaded with PSR-4-compliant autoloading.
+
+namespace Wikibase\Build;
+
+use AutoloadGenerator;
+use Maintenance;
+
+require_once getenv( 'MW_INSTALL_PATH' ) !== false
+       ? getenv( 'MW_INSTALL_PATH' ) . '/maintenance/Maintenance.php'
+       : __DIR__ . '/../../../maintenance/Maintenance.php';
+
+/**
+ * Generates Wikibase autoload info
+ */
+class GenerateWikibaseAutoload extends Maintenance {
+
+       public function __construct() {
+               parent::__construct();
+               $this->mDescription = 'Generates Wikibase autoload data';
+       }
+
+       public function execute() {
+               $this->generateAutoloadForComponent( 'data-access', [ 'src' ] );
+
+               $this->generateAutoloadForComponent(
+                       'lib',
+                       [ 'includes', 'maintenance' ],
+                       [
+                               'tests/phpunit/EntityRevisionLookupTest.php',
+                               'tests/phpunit/MockPropertyLabelResolver.php',
+                               'tests/phpunit/MockRepository.php',
+                               
'tests/phpunit/Changes/MockRepoClientCentralIdLookup.php',
+                               'tests/phpunit/Changes/TestChanges.php',
+                               'tests/phpunit/Store/EntityTermLookupTest.php',
+                               
'tests/phpunit/Store/HttpUrlPropertyOrderProviderTestMockHttp.php',
+                               'tests/phpunit/Store/MockChunkAccess.php',
+                               
'tests/phpunit/Store/MockPropertyInfoLookup.php',
+                               'tests/phpunit/Store/MockTermIndex.php',
+                               'tests/phpunit/Store/TermIndexTest.php',
+                               
'tests/phpunit/Store/WikiTextPropertyOrderProviderTestHelper.php',
+                       ]
+               );
+
+               $this->generateAutoloadForComponent(
+                       'repo',
+                       [ 'includes', 'maintenance' ],
+                       [
+                               
'tests/phpunit/includes/BabelUserLanguageLookupDouble.php',
+                               
'tests/phpunit/includes/EntityModificationTestHelper.php',
+                               'tests/phpunit/includes/NewItem.php',
+                               'tests/phpunit/includes/NewStatement.php',
+                               'tests/phpunit/includes/PermissionsHelper.php',
+                               
'tests/phpunit/includes/Actions/ActionTestCase.php',
+                               
'tests/phpunit/includes/Api/ApiFormatTestCase.php',
+                               
'tests/phpunit/includes/Api/ApiModuleTestHelper.php',
+                               
'tests/phpunit/includes/Api/EntityTestHelper.php',
+                               
'tests/phpunit/includes/Api/ModifyTermTestCase.php',
+                               
'tests/phpunit/includes/Api/PermissionsTestCase.php',
+                               'tests/phpunit/includes/Api/TermTestHelper.php',
+                               
'tests/phpunit/includes/Api/WikibaseApiTestCase.php',
+                               
'tests/phpunit/includes/ChangeOp/ChangeOpTestMockProvider.php',
+                               
'tests/phpunit/includes/ChangeOp/StatementListProviderDummy.php',
+                               
'tests/phpunit/includes/ChangeOp/Deserialization/AliasChangeOpDeserializationTester.php',
+                               
'tests/phpunit/includes/ChangeOp/Deserialization/ChangeOpDeserializationAssert.php',
+                               
'tests/phpunit/includes/ChangeOp/Deserialization/ClaimsChangeOpDeserializationTester.php',
+                               
'tests/phpunit/includes/ChangeOp/Deserialization/DescriptionsChangeOpDeserializationTester.php',
+                               
'tests/phpunit/includes/ChangeOp/Deserialization/LabelsChangeOpDeserializationTester.php',
+                               
'tests/phpunit/includes/LinkedData/EntityDataTestProvider.php',
+                               
'tests/phpunit/includes/Rdf/NTriplesRdfTestHelper.php',
+                               
'tests/phpunit/includes/Rdf/RdfBuilderTestData.php',
+                               
'tests/phpunit/includes/Search/Elastic/Fields/WikibaseNumericFieldTest.php',
+                               
'tests/phpunit/includes/Store/MockEntityIdPager.php',
+                               
'tests/phpunit/includes/Specials/HtmlAssertionHelpers.php',
+                               
'tests/phpunit/includes/Specials/SpecialModifyTermTestCase.php',
+                               
'tests/phpunit/includes/Specials/SpecialWikibaseRepoPageTestBase.php',
+                               
'tests/phpunit/includes/Validators/TestValidator.php',
+                               'tests/phpunit/maintenance/MockAddUnits.php',
+                       ]
+               );
+
+               $this->generateAutoloadForComponent(
+                       'client',
+                       [ 'includes', 'maintenance' ],
+                       [
+                               'tests/phpunit/MockClientStore.php',
+                               
'tests/phpunit/includes/Changes/MockPageUpdater.php',
+                               
'tests/phpunit/includes/DataAccess/WikibaseDataAccessTestItemSetUpHelper.php',
+                               
'tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTestCase.php',
+                               
'tests/phpunit/includes/Usage/UsageAccumulatorContractTester.php',
+                               
'tests/phpunit/includes/Usage/UsageLookupContractTester.php',
+                               
'tests/phpunit/includes/Usage/UsageTrackerContractTester.php',
+                       ]
+               );
+
+               $this->generateAutoloadForComponent( 'view', [ 'src' ] );
+
+               echo "Done.\n\n";
+       }
+
+       /**
+        * @param string $componentDir
+        * @param string[] $dirs
+        * @param string[] $files
+        */
+       private function generateAutoloadForComponent( $componentDir, array 
$dirs, array $files = [] ) {
+               $base = __DIR__ . '/../' . $componentDir;
+               $generator = new AutoloadGenerator( $base );
+               foreach ( $dirs as $componentDir ) {
+                       $generator->readDir( $base . '/' . $componentDir );
+               }
+               foreach ( glob( $base . '/*.php' ) as $file ) {
+                       $generator->readFile( realpath( $file ) );
+               }
+               foreach ( $files as $file ) {
+                       $generator->readFile( realpath( $base . '/' . $file ) );
+               }
+
+               $target = $generator->getTargetFileInfo();
+
+               file_put_contents(
+                       $target['filename'],
+                       $generator->getAutoload( basename( __DIR__ ) . '/' . 
basename( __FILE__ ) )
+               );
+       }
+
+}
+
+$maintClass = GenerateWikibaseAutoload::class;
+require_once RUN_MAINTENANCE_IF_MAIN;
diff --git a/view/WikibaseView.php b/view/WikibaseView.php
index 6177dac..e974b30 100644
--- a/view/WikibaseView.php
+++ b/view/WikibaseView.php
@@ -12,6 +12,9 @@
        require_once __DIR__ . '/vendor/autoload.php';
 }
 
+// Load autoload info as long as extension classes are not PSR-4-autoloaded
+require_once __DIR__  . '/autoload.php';
+
 if ( defined( 'MEDIAWIKI' ) ) {
        call_user_func( function() {
                require_once __DIR__ . '/init.mw.php';
diff --git a/view/autoload.php b/view/autoload.php
new file mode 100644
index 0000000..658736b
--- /dev/null
+++ b/view/autoload.php
@@ -0,0 +1,33 @@
+<?php
+// This file is generated by scripts/generateAutoload.php, do not adjust 
manually
+// @codingStandardsIgnoreFile
+global $wgAutoloadClasses;
+
+$wgAutoloadClasses += [
+       'Wikibase\\View\\DummyLocalizedTextProvider' => __DIR__ . 
'/src/DummyLocalizedTextProvider.php',
+       'Wikibase\\View\\EditSectionGenerator' => __DIR__ . 
'/src/EditSectionGenerator.php',
+       'Wikibase\\View\\EmptyEditSectionGenerator' => __DIR__ . 
'/src/EmptyEditSectionGenerator.php',
+       'Wikibase\\View\\EntityIdFormatterFactory' => __DIR__ . 
'/src/EntityIdFormatterFactory.php',
+       'Wikibase\\View\\EntityTermsView' => __DIR__ . 
'/src/EntityTermsView.php',
+       'Wikibase\\View\\EntityView' => __DIR__ . '/src/EntityView.php',
+       'Wikibase\\View\\HtmlSnakFormatterFactory' => __DIR__ . 
'/src/HtmlSnakFormatterFactory.php',
+       'Wikibase\\View\\HtmlTermRenderer' => __DIR__ . 
'/src/HtmlTermRenderer.php',
+       'Wikibase\\View\\ItemView' => __DIR__ . '/src/ItemView.php',
+       'Wikibase\\View\\LanguageDirectionalityLookup' => __DIR__ . 
'/src/LanguageDirectionalityLookup.php',
+       'Wikibase\\View\\LocalizedTextProvider' => __DIR__ . 
'/src/LocalizedTextProvider.php',
+       'Wikibase\\View\\Module\\TemplateModule' => __DIR__ . 
'/src/Module/TemplateModule.php',
+       'Wikibase\\View\\PropertyView' => __DIR__ . '/src/PropertyView.php',
+       'Wikibase\\View\\SimpleEntityTermsView' => __DIR__ . 
'/src/SimpleEntityTermsView.php',
+       'Wikibase\\View\\SiteLinksView' => __DIR__ . '/src/SiteLinksView.php',
+       'Wikibase\\View\\SnakHtmlGenerator' => __DIR__ . 
'/src/SnakHtmlGenerator.php',
+       'Wikibase\\View\\SpecialPageLinker' => __DIR__ . 
'/src/SpecialPageLinker.php',
+       'Wikibase\\View\\StatementGroupListView' => __DIR__ . 
'/src/StatementGroupListView.php',
+       'Wikibase\\View\\StatementHtmlGenerator' => __DIR__ . 
'/src/StatementHtmlGenerator.php',
+       'Wikibase\\View\\StatementSectionsView' => __DIR__ . 
'/src/StatementSectionsView.php',
+       'Wikibase\\View\\Template\\Template' => __DIR__ . 
'/src/Template/Template.php',
+       'Wikibase\\View\\Template\\TemplateFactory' => __DIR__ . 
'/src/Template/TemplateFactory.php',
+       'Wikibase\\View\\Template\\TemplateRegistry' => __DIR__ . 
'/src/Template/TemplateRegistry.php',
+       'Wikibase\\View\\TermsListView' => __DIR__ . '/src/TermsListView.php',
+       'Wikibase\\View\\ToolbarEditSectionGenerator' => __DIR__ . 
'/src/ToolbarEditSectionGenerator.php',
+       'Wikibase\\View\\ViewFactory' => __DIR__ . '/src/ViewFactory.php',
+];

-- 
To view, visit https://gerrit.wikimedia.org/r/391034
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1e7b40aea20f0172a903f62f51d817e26f5b9267
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: WMDE-leszek <leszek.mani...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to