Remove wgSitesCacheFile and rebuildSitesCache.php (unused)
[lhc/web/wiklou.git] / includes / ServiceWiring.php
index a1be225..12e782d 100644 (file)
@@ -48,8 +48,10 @@ use MediaWiki\Logger\LoggerFactory;
 use MediaWiki\MediaWikiServices;
 use MediaWiki\Preferences\PreferencesFactory;
 use MediaWiki\Preferences\DefaultPreferencesFactory;
+use MediaWiki\Revision\MainSlotRoleHandler;
 use MediaWiki\Revision\RevisionFactory;
 use MediaWiki\Revision\RevisionLookup;
+use MediaWiki\Revision\SlotRoleRegistry;
 use MediaWiki\Revision\RevisionRenderer;
 use MediaWiki\Revision\RevisionStore;
 use MediaWiki\Revision\RevisionStoreFactory;
@@ -83,7 +85,7 @@ return [
        'CommentStore' => function ( MediaWikiServices $services ) : CommentStore {
                return new CommentStore(
                        $services->getContentLanguage(),
-                       $services->getMainConfig()->get( 'CommentTableSchemaMigrationStage' )
+                       MIGRATION_NEW
                );
        },
 
@@ -411,6 +413,13 @@ return [
                );
        },
 
+       'ResourceLoader' => function ( MediaWikiServices $services ) : ResourceLoader {
+               return new ResourceLoader(
+                       $services->getMainConfig(),
+                       LoggerFactory::getInstance( 'resourceloader' )
+               );
+       },
+
        'RevisionFactory' => function ( MediaWikiServices $services ) : RevisionFactory {
                return $services->getRevisionStore();
        },
@@ -420,7 +429,13 @@ return [
        },
 
        'RevisionRenderer' => function ( MediaWikiServices $services ) : RevisionRenderer {
-               return new RevisionRenderer( $services->getDBLoadBalancer() );
+               $renderer = new RevisionRenderer(
+                       $services->getDBLoadBalancer(),
+                       $services->getSlotRoleRegistry()
+               );
+
+               $renderer->setLogger( LoggerFactory::getInstance( 'SaveParse' ) );
+               return $renderer;
        },
 
        'RevisionStore' => function ( MediaWikiServices $services ) : RevisionStore {
@@ -433,6 +448,7 @@ return [
                        $services->getDBLoadBalancerFactory(),
                        $services->getBlobStoreFactory(),
                        $services->getNameTableStoreFactory(),
+                       $services->getSlotRoleRegistry(),
                        $services->getMainWANObjectCache(),
                        $services->getCommentStore(),
                        $services->getActorMigration(),
@@ -473,14 +489,10 @@ return [
        },
 
        'SiteLookup' => function ( MediaWikiServices $services ) : SiteLookup {
-               $cacheFile = $services->getMainConfig()->get( 'SitesCacheFile' );
-
-               if ( $cacheFile !== false ) {
-                       return new FileBasedSiteLookup( $cacheFile );
-               } else {
-                       // Use the default SiteStore as the SiteLookup implementation for now
-                       return $services->getSiteStore();
-               }
+               // Use SiteStore as the SiteLookup as well. This was originally separated
+               // to allow for a cacheable read-only interface (using FileBasedSiteLookup),
+               // but this was never used. SiteStore has caching (see below).
+               return $services->getSiteStore();
        },
 
        'SiteStore' => function ( MediaWikiServices $services ) : SiteStore {
@@ -516,6 +528,22 @@ return [
                return $factory;
        },
 
+       'SlotRoleRegistry' => function ( MediaWikiServices $services ) : SlotRoleRegistry {
+               $config = $services->getMainConfig();
+
+               $registry = new SlotRoleRegistry(
+                       $services->getNameTableStoreFactory()->getSlotRoles()
+               );
+
+               $registry->defineRole( 'main', function () use ( $config ) {
+                       return new MainSlotRoleHandler(
+                               $config->get( 'NamespaceContentModels' )
+                       );
+               } );
+
+               return $registry;
+       },
+
        'SpecialPageFactory' => function ( MediaWikiServices $services ) : SpecialPageFactory {
                return new SpecialPageFactory(
                        $services->getMainConfig(),
@@ -566,13 +594,16 @@ return [
                return new WatchedItemQueryService(
                        $services->getDBLoadBalancer(),
                        $services->getCommentStore(),
-                       $services->getActorMigration()
+                       $services->getActorMigration(),
+                       $services->getWatchedItemStore()
                );
        },
 
        'WatchedItemStore' => function ( MediaWikiServices $services ) : WatchedItemStore {
                $store = new WatchedItemStore(
                        $services->getDBLoadBalancerFactory(),
+                       JobQueueGroup::singleton(),
+                       $services->getMainObjectStash(),
                        new HashBagOStuff( [ 'maxKeys' => 100 ] ),
                        $services->getReadOnlyMode(),
                        $services->getMainConfig()->get( 'UpdateRowsPerQuery' )