Merge "maintenance: Deprecate Maintenance::hasArg/getArg with no param"
[lhc/web/wiklou.git] / includes / ServiceWiring.php
index 46dd913..b1cdc81 100644 (file)
@@ -149,7 +149,10 @@ return [
                $lbConf = MWLBFactory::applyDefaultConfig(
                        $mainConfig->get( 'LBFactoryConf' ),
                        $mainConfig,
-                       $services->getConfiguredReadOnlyMode()
+                       $services->getConfiguredReadOnlyMode(),
+                       $services->getLocalServerObjectCache(),
+                       $services->getMainObjectStash(),
+                       $services->getMainWANObjectCache()
                );
                $class = MWLBFactory::getLBFactoryClass( $lbConf );
 
@@ -414,10 +417,15 @@ return [
        },
 
        'ResourceLoader' => function ( MediaWikiServices $services ) : ResourceLoader {
-               return new ResourceLoader(
-                       $services->getMainConfig(),
+               $config = $services->getMainConfig();
+
+               $rl = new ResourceLoader(
+                       $config,
                        LoggerFactory::getInstance( 'resourceloader' )
                );
+               $rl->addSource( $config->get( 'ResourceLoaderSources' ) );
+
+               return $rl;
        },
 
        'RevisionFactory' => function ( MediaWikiServices $services ) : RevisionFactory {
@@ -489,14 +497,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 {
@@ -598,13 +602,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' )