diff --git a/core/lib/Drupal/Core/Config/ConfigInstaller.php b/core/lib/Drupal/Core/Config/ConfigInstaller.php index c8defe72e5e80cb3cb0b377a6874292e79956672..6fe1afaa272d2b7f84f2259e7cf66ff473db1d6a 100644 --- a/core/lib/Drupal/Core/Config/ConfigInstaller.php +++ b/core/lib/Drupal/Core/Config/ConfigInstaller.php @@ -107,6 +107,8 @@ public function installDefaultConfig($type, $name) { $extension_config = $this->configFactory->get('core.extension'); $enabled_extensions = array_keys((array) $extension_config->get('module')); $enabled_extensions += array_keys((array) $extension_config->get('theme')); + // Core can provide configuration. + $enabled_extensions[] = 'core'; foreach ($collection_info->getCollectionNames(TRUE) as $collection) { $config_to_install = $this->listDefaultConfigCollection($collection, $type, $name, $enabled_extensions); diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 4c0286ae2f059f6e426a0c01715fa72d22476223..210e259618c3f9cc6bb9be20d30d4f5d60170194 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -358,7 +358,7 @@ protected function addDependency($type, $name) { // explicitly declare the dependency. An explicit dependency on Core, which // provides some plugins, is also not needed. // @see \Drupal\Core\Config\Entity\ConfigEntityDependency::hasDependency() - if ($type == 'module' && ($name == $this->getEntityType()->getProvider() || $name == 'Core')) { + if ($type == 'module' && ($name == $this->getEntityType()->getProvider() || $name == 'core')) { return $this; } diff --git a/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php b/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php index 4059e100e5993d334ca8dd1b559fd092fb10fe85..e1d0731dc3b972e5a9fc68cbda93ce0f069053f0 100644 --- a/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php +++ b/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php @@ -234,7 +234,7 @@ protected function findDefinitions() { if (is_object($plugin_definition) && !($plugin_definition = (array) $plugin_definition)) { continue; } - if (isset($plugin_definition['provider']) && !in_array($plugin_definition['provider'], array('Core', 'Component')) && !$this->moduleHandler->moduleExists($plugin_definition['provider'])) { + if (isset($plugin_definition['provider']) && !in_array($plugin_definition['provider'], array('core', 'component')) && !$this->moduleHandler->moduleExists($plugin_definition['provider'])) { unset($definitions[$plugin_id]); } } diff --git a/core/lib/Drupal/Core/Plugin/Discovery/AnnotatedClassDiscovery.php b/core/lib/Drupal/Core/Plugin/Discovery/AnnotatedClassDiscovery.php index 130cb62600bb5043020123b5441bd06fff7da6d2..b7a2dfdbcd36dd3215145737834699df3fa82af4 100644 --- a/core/lib/Drupal/Core/Plugin/Discovery/AnnotatedClassDiscovery.php +++ b/core/lib/Drupal/Core/Plugin/Discovery/AnnotatedClassDiscovery.php @@ -9,6 +9,7 @@ use Drupal\Component\Annotation\AnnotationInterface; use Drupal\Component\Annotation\Plugin\Discovery\AnnotatedClassDiscovery as ComponentAnnotatedClassDiscovery; +use Drupal\Component\Utility\Unicode; /** * Defines a discovery mechanism to find annotated plugins in PSR-0 namespaces. @@ -105,7 +106,7 @@ protected function getProviderFromNamespace($namespace) { preg_match('|^Drupal\\\\(?<provider>[\w]+)\\\\|', $namespace, $matches); if (isset($matches['provider'])) { - return $matches['provider']; + return Unicode::strtolower($matches['provider']); } return NULL; diff --git a/core/modules/config_translation/src/ConfigMapperManager.php b/core/modules/config_translation/src/ConfigMapperManager.php index bb3ce658fa99651f81913a469d45279fa3b21a0b..8eb373542bf075bc5be6c01f43f8ec236440598e 100644 --- a/core/modules/config_translation/src/ConfigMapperManager.php +++ b/core/modules/config_translation/src/ConfigMapperManager.php @@ -150,7 +150,7 @@ protected function findDefinitions() { // If this plugin was provided by a module that does not exist, remove the // plugin definition. foreach ($definitions as $plugin_id => $plugin_definition) { - if (isset($plugin_definition['provider']) && !in_array($plugin_definition['provider'], array('Core', 'Component')) && (!$this->moduleHandler->moduleExists($plugin_definition['provider']) && !in_array($plugin_definition['provider'], array_keys($this->themeHandler->listInfo())))) { + if (isset($plugin_definition['provider']) && !in_array($plugin_definition['provider'], array('core', 'component')) && (!$this->moduleHandler->moduleExists($plugin_definition['provider']) && !in_array($plugin_definition['provider'], array_keys($this->themeHandler->listInfo())))) { unset($definitions[$plugin_id]); } } diff --git a/core/modules/field/src/ConfigImporterFieldPurger.php b/core/modules/field/src/ConfigImporterFieldPurger.php index a33df394a553b4ca696efccf11438d5dc3c7e318..74f7acde1d91082ce2d4c69c31b0e2bd5ce7f7d0 100644 --- a/core/modules/field/src/ConfigImporterFieldPurger.php +++ b/core/modules/field/src/ConfigImporterFieldPurger.php @@ -114,7 +114,7 @@ protected static function initializeSandbox(array &$context, ConfigImporter $con */ public static function getFieldsToPurge(array $extensions, array $deletes) { $providers = array_keys($extensions['module']); - $providers[] = 'Core'; + $providers[] = 'core'; $fields_to_delete = array(); // Gather fields that will be deleted during configuration synchronization diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php index e5dea6dcdfad3f85e56ef2ddb19a51ac7a66ff6a..aae74eb37fcfed305a4b7df3888f1174599fcacb 100644 --- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php +++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php @@ -186,11 +186,11 @@ public function testAddDependency() { $method = new \ReflectionMethod('\Drupal\Core\Config\Entity\ConfigEntityBase', 'addDependency'); $method->setAccessible(TRUE); $method->invoke($this->entity, 'module', $this->provider); - $method->invoke($this->entity, 'module', 'Core'); + $method->invoke($this->entity, 'module', 'core'); $method->invoke($this->entity, 'module', 'node'); $dependencies = $this->entity->get('dependencies'); $this->assertNotContains($this->provider, $dependencies['module']); - $this->assertNotContains('Core', $dependencies['module']); + $this->assertNotContains('core', $dependencies['module']); $this->assertContains('node', $dependencies['module']); // Test sorting of dependencies.