Merge "Split some Language methods to LanguageNameUtils"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 23 Aug 2019 11:16:28 +0000 (11:16 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 23 Aug 2019 11:16:28 +0000 (11:16 +0000)
1  2 
RELEASE-NOTES-1.34
includes/MediaWikiServices.php
includes/ServiceWiring.php

diff --combined RELEASE-NOTES-1.34
@@@ -100,8 -100,6 +100,8 @@@ For notes on 1.33.x and older releases
    See <https://www.mediawiki.org/wiki/OOUI/Themes> for details.
  * (T229035) The GetUserBlock hook was added. Use this instead of
    GetBlockedStatus.
 +* ObjectFactory is available as a service. When used as a service, the object
 +  specs can now specify needed DI services.
  
  === External library changes in 1.34 ===
  
@@@ -464,6 -462,11 +464,11 @@@ because of Phabricator reports
  * TempFSFile::factory() has been deprecated. Use TempFSFileFactory instead.
  * wfIsBadImage() is deprecated. Use the BadFileLookup service instead.
  * Language::getLocalisationCache() is deprecated. Use MediaWikiServices.
+ * The following Language methods are deprecated: isSupportedLanguage,
+   isValidCode, isValidBuiltInCode, isKnownLanguageTag, fetchLanguageNames,
+   fetchLanguageName, getFileName, getMessagesFileName, getJsonMessagesFileName.
+   Use the new LanguageNameUtils class instead. (Note that fetchLanguageName(s)
+   are called getLanguageName(s) in the new class.)
  
  === Other changes in 1.34 ===
  * …
@@@ -19,6 -19,7 +19,7 @@@ use MediaWiki\Block\BlockManager
  use MediaWiki\Block\BlockRestrictionStore;
  use MediaWiki\FileBackend\FSFile\TempFSFileFactory;
  use MediaWiki\Http\HttpRequestFactory;
+ use MediaWiki\Languages\LanguageNameUtils;
  use MediaWiki\Page\MovePageFactory;
  use MediaWiki\Permissions\PermissionManager;
  use MediaWiki\Preferences\PreferencesFactory;
@@@ -65,7 -66,6 +66,7 @@@ use SkinFactory
  use TitleFormatter;
  use TitleParser;
  use VirtualRESTServiceClient;
 +use Wikimedia\ObjectFactory;
  use Wikimedia\Rdbms\LBFactory;
  use Wikimedia\Services\SalvageableService;
  use Wikimedia\Services\ServiceContainer;
@@@ -624,6 -624,14 +625,14 @@@ class MediaWikiServices extends Service
                return $this->getService( 'InterwikiLookup' );
        }
  
+       /**
+        * @since 1.34
+        * @return LanguageNameUtils
+        */
+       public function getLanguageNameUtils() {
+               return $this->getService( 'LanguageNameUtils' );
+       }
        /**
         * @since 1.28
         * @return LinkCache
                return $this->getService( 'NameTableStoreFactory' );
        }
  
 +      /**
 +       * ObjectFactory is intended for instantiating "handlers" from declarative definitions,
 +       * such as Action API modules, special pages, or REST API handlers.
 +       *
 +       * @since 1.34
 +       * @return ObjectFactory
 +       */
 +      public function getObjectFactory() {
 +              return $this->getService( 'ObjectFactory' );
 +      }
 +
        /**
         * @since 1.32
         * @return OldRevisionImporter
@@@ -48,6 -48,7 +48,7 @@@ use MediaWiki\FileBackend\FSFile\TempFS
  use MediaWiki\Http\HttpRequestFactory;
  use MediaWiki\Interwiki\ClassicInterwikiLookup;
  use MediaWiki\Interwiki\InterwikiLookup;
+ use MediaWiki\Languages\LanguageNameUtils;
  use MediaWiki\Linker\LinkRenderer;
  use MediaWiki\Linker\LinkRendererFactory;
  use MediaWiki\Logger\LoggerFactory;
@@@ -70,7 -71,6 +71,7 @@@ use MediaWiki\Storage\BlobStoreFactory
  use MediaWiki\Storage\NameTableStoreFactory;
  use MediaWiki\Storage\SqlBlobStore;
  use MediaWiki\Storage\PageEditStash;
 +use Wikimedia\ObjectFactory;
  
  return [
        'ActorMigration' => function ( MediaWikiServices $services ) : ActorMigration {
                );
        },
  
+       'LanguageNameUtils' => function ( MediaWikiServices $services ) : LanguageNameUtils {
+               return new LanguageNameUtils( new ServiceOptions(
+                       LanguageNameUtils::$constructorOptions,
+                       $services->getMainConfig()
+               ) );
+       },
        'LinkCache' => function ( MediaWikiServices $services ) : LinkCache {
                return new LinkCache(
                        $services->getTitleFormatter(),
                        $logger,
                        [ function () use ( $services ) {
                                $services->getResourceLoader()->getMessageBlobStore()->clear();
-                       } ]
+                       } ],
+                       $services->getLanguageNameUtils()
                );
        },
  
                );
        },
  
 +      'ObjectFactory' => function ( MediaWikiServices $services ) : ObjectFactory {
 +              return new ObjectFactory( $services );
 +      },
 +
        'OldRevisionImporter' => function ( MediaWikiServices $services ) : OldRevisionImporter {
                return new ImportableOldRevisionImporter(
                        true,