diff -u b/core/lib/Drupal/Core/Extension/Extension.php b/core/lib/Drupal/Core/Extension/Extension.php --- b/core/lib/Drupal/Core/Extension/Extension.php +++ b/core/lib/Drupal/Core/Extension/Extension.php @@ -68,6 +68,8 @@ * 'core/modules/node/node.info.yml'. * @param string $filename * (optional) The filename of the main extension file; e.g., 'node.module'. + * @param string $name + * (optional) The name of the extension. */ public function __construct($root, $type, $pathname, $filename = NULL, $name = NULL) { // @see \Drupal\Core\Theme\ThemeInitialization::getActiveThemeByName() reverted: --- b/core/lib/Drupal/Core/Update/UpdateRegistry.php +++ a/core/lib/Drupal/Core/Update/UpdateRegistry.php @@ -7,7 +7,6 @@ use Drupal\Core\Extension\Extension; use Drupal\Core\Extension\ExtensionDiscovery; use Drupal\Core\KeyValueStore\KeyValueStoreInterface; -use Drupal\Core\Site\Settings; use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** @@ -68,13 +67,6 @@ */ protected $sitePath; - /** - * Discovered extensions in the system. - * - * @var \Drupal\Core\Extension\ExtensionDiscovery - */ - protected ExtensionDiscovery $extensionDiscovery; - /** * Constructs a new UpdateRegistry. * @@ -287,13 +279,10 @@ */ protected function scanExtensionsAndLoadUpdateFiles() { // Scan for extensions. + $extension_discovery = new ExtensionDiscovery($this->root, FALSE, [], $this->sitePath); + $module_extensions = $extension_discovery->scan('module'); + $theme_extensions = $this->includeThemes() ? $extension_discovery->scan('theme') : []; + $profile_extensions = $extension_discovery->scan('profile'); - if (!isset($this->extensionDiscovery)) { - $use_file_cache = Settings::get('update_registry_use_file_cache', FALSE); - $this->extensionDiscovery = new ExtensionDiscovery($this->root, $use_file_cache, [], $this->sitePath); - } - $module_extensions = $this->extensionDiscovery->scan('module'); - $theme_extensions = $this->includeThemes() ? $this->extensionDiscovery->scan('theme') : []; - $profile_extensions = $this->extensionDiscovery->scan('profile'); $extensions = array_merge($module_extensions, $theme_extensions, $profile_extensions); $this->loadUpdateFiles($extensions); only in patch2: unchanged: --- a/core/tests/Drupal/Tests/Core/Extension/ExtensionDiscoveryTest.php +++ b/core/tests/Drupal/Tests/Core/Extension/ExtensionDiscoveryTest.php @@ -53,12 +53,12 @@ public function testExtensionDiscoveryVfs() { $this->assertEquals($files_by_type_and_name_expected, $files_by_type_and_name); - $extension_expected = new Extension($root, 'module', 'core/modules/system/system.info.yml', 'system.module'); + $extension_expected = new Extension($root, 'module', 'core/modules/system/system.info.yml', 'system.module', 'system'); $extension_expected->subpath = 'modules/system'; $extension_expected->origin = 'core'; $this->assertEquals($extension_expected, $extensions_by_type['module']['system'], 'system'); - $extension_expected = new Extension($root, 'theme_engine', 'core/themes/engines/twig/twig.info.yml', 'twig.engine'); + $extension_expected = new Extension($root, 'theme_engine', 'core/themes/engines/twig/twig.info.yml', 'twig.engine', 'twig'); $extension_expected->subpath = 'themes/engines/twig'; $extension_expected->origin = 'core'; $this->assertEquals($extension_expected, $extensions_by_type['theme_engine']['twig'], 'twig'); @@ -92,6 +92,7 @@ public function testExtensionDiscoveryCache() { // FileCache item should now be an array. $this->assertSame([ 'type' => 'module', + 'name' => 'user', 'pathname' => 'core/modules/user/user.info.yml', 'filename' => 'user.module', 'subpath' => 'modules/user',