diff -u b/core/lib/Drupal/Core/Config/Entity/ConfigDependencyManager.php b/core/lib/Drupal/Core/Config/Entity/ConfigDependencyManager.php --- b/core/lib/Drupal/Core/Config/Entity/ConfigDependencyManager.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigDependencyManager.php @@ -74,7 +74,7 @@ $graph[$graph_key]['edges'] = array(); $dependencies = $entity->getDependencies('entity'); if (!empty($dependencies)) { - foreach ($dependencies as $dependency => $value) { + foreach ($dependencies as $dependency) { $graph[$graph_key]['edges'][$dependency] = TRUE; } } @@ -83,8 +83,8 @@ $graph = $graph_object->searchAndSort(); foreach ($entities_to_check as $entity) { if (isset($graph[$entity]) && !empty($graph[$entity][$direction])){ - foreach ($graph[$entity][$direction] as $dependency_name => $value) { - $config_name = substr($dependency_name, 0, strpos($dependency_name, ':')); + foreach ($graph[$entity][$direction] as $dependency => $value) { + $config_name = substr($dependency, 0, strpos($dependency, ':')); $dependent_entities[$config_name] = $all_the_thingies[$config_name]; } } diff -u b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php --- b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -240,7 +240,12 @@ * {@inheritdoc} */ public function createDependency($type, $name) { - $this->dependencies[$type][$name] = TRUE; + if (empty($this->dependencies[$type])) { + $this->dependencies[$type] = array($name); + } + elseif (!in_array($name, $this->dependencies[$type])) { + $this->dependencies[$type][] = $name; + } return $this; } @@ -248,7 +253,10 @@ * {@inheritdoc} */ public function removeDependency($type, $name) { - unset($this->dependencies[$type][$name]); + $key = array_search($name, $this->dependencies[$type]); + if ($key !== FALSE) { + unset($this->dependencies[$type][$key]); + } return $this; } diff -u b/core/lib/Drupal/Core/Config/Entity/ConfigEntityDependency.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityDependency.php --- b/core/lib/Drupal/Core/Config/Entity/ConfigEntityDependency.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityDependency.php @@ -95,7 +95,7 @@ if ($type == 'module' && strpos($this->name, $name . '.') === 0) { return TRUE; } - return isset($this->dependencies[$type]) && !empty($this->dependencies[$type][$name]); + return isset($this->dependencies[$type]) && array_search($name, $this->dependencies[$type]) !== FALSE; } /** diff -u b/core/lib/Drupal/Core/Config/Schema/core.data_types.schema.yml b/core/lib/Drupal/Core/Config/Schema/core.data_types.schema.yml --- b/core/lib/Drupal/Core/Config/Schema/core.data_types.schema.yml +++ b/core/lib/Drupal/Core/Config/Schema/core.data_types.schema.yml @@ -149,11 +149,11 @@ - - type: boolean + - type: string module: type: sequence label: 'Module dependencies' sequence: - - type: boolean + - type: string theme: type: sequence label: 'Theme dependencies' sequence: - - type: boolean + - type: string diff -u b/core/modules/aggregator/config/views.view.aggregator_rss_feed.yml b/core/modules/aggregator/config/views.view.aggregator_rss_feed.yml --- b/core/modules/aggregator/config/views.view.aggregator_rss_feed.yml +++ b/core/modules/aggregator/config/views.view.aggregator_rss_feed.yml @@ -147 +147 @@ - aggregator: true + - aggregator diff -u b/core/modules/field/tests/modules/field_test_config/config/field.field.entity_test.field_test_import.yml b/core/modules/field/tests/modules/field_test_config/config/field.field.entity_test.field_test_import.yml --- b/core/modules/field/tests/modules/field_test_config/config/field.field.entity_test.field_test_import.yml +++ b/core/modules/field/tests/modules/field_test_config/config/field.field.entity_test.field_test_import.yml @@ -17 +17 @@ - text: true + - text diff -u b/core/modules/field/tests/modules/field_test_config/config/field.field.entity_test.field_test_import_2.yml b/core/modules/field/tests/modules/field_test_config/config/field.field.entity_test.field_test_import_2.yml --- b/core/modules/field/tests/modules/field_test_config/config/field.field.entity_test.field_test_import_2.yml +++ b/core/modules/field/tests/modules/field_test_config/config/field.field.entity_test.field_test_import_2.yml @@ -17 +17 @@ - text: true + - text diff -u b/core/modules/field/tests/modules/field_test_config/staging/field.field.entity_test.field_test_import_staging.yml b/core/modules/field/tests/modules/field_test_config/staging/field.field.entity_test.field_test_import_staging.yml --- b/core/modules/field/tests/modules/field_test_config/staging/field.field.entity_test.field_test_import_staging.yml +++ b/core/modules/field/tests/modules/field_test_config/staging/field.field.entity_test.field_test_import_staging.yml @@ -18 +18 @@ - text: true + - text diff -u b/core/modules/field/tests/modules/field_test_config/staging/field.field.entity_test.field_test_import_staging_2.yml b/core/modules/field/tests/modules/field_test_config/staging/field.field.entity_test.field_test_import_staging_2.yml --- b/core/modules/field/tests/modules/field_test_config/staging/field.field.entity_test.field_test_import_staging_2.yml +++ b/core/modules/field/tests/modules/field_test_config/staging/field.field.entity_test.field_test_import_staging_2.yml @@ -18 +18 @@ - text: true + - text diff -u b/core/modules/file/config/views.view.files.yml b/core/modules/file/config/views.view.files.yml --- b/core/modules/file/config/views.view.files.yml +++ b/core/modules/file/config/views.view.files.yml @@ -1046 +1046 @@ - file: true + - file diff -u b/core/modules/forum/config/field.field.forum.forum_container.yml b/core/modules/forum/config/field.field.forum.forum_container.yml --- b/core/modules/forum/config/field.field.forum.forum_container.yml +++ b/core/modules/forum/config/field.field.forum.forum_container.yml @@ -20 +20 @@ - options: true + - options diff -u b/core/modules/node/config/views.view.archive.yml b/core/modules/node/config/views.view.archive.yml --- b/core/modules/node/config/views.view.archive.yml +++ b/core/modules/node/config/views.view.archive.yml @@ -168 +168 @@ - node: true + - node diff -u b/core/modules/node/config/views.view.content.yml b/core/modules/node/config/views.view.content.yml --- b/core/modules/node/config/views.view.content.yml +++ b/core/modules/node/config/views.view.content.yml @@ -557 +557 @@ - node: true + - node diff -u b/core/modules/node/config/views.view.content_recent.yml b/core/modules/node/config/views.view.content_recent.yml --- b/core/modules/node/config/views.view.content_recent.yml +++ b/core/modules/node/config/views.view.content_recent.yml @@ -465 +465 @@ - node: true + - node diff -u b/core/modules/node/config/views.view.frontpage.yml b/core/modules/node/config/views.view.frontpage.yml --- b/core/modules/node/config/views.view.frontpage.yml +++ b/core/modules/node/config/views.view.frontpage.yml @@ -236 +236 @@ - node: true + - node diff -u b/core/modules/node/config/views.view.glossary.yml b/core/modules/node/config/views.view.glossary.yml --- b/core/modules/node/config/views.view.glossary.yml +++ b/core/modules/node/config/views.view.glossary.yml @@ -376 +376 @@ - node: true + - node diff -u b/core/modules/node/config/views.view.tracker.yml b/core/modules/node/config/views.view.tracker.yml --- b/core/modules/node/config/views.view.tracker.yml +++ b/core/modules/node/config/views.view.tracker.yml @@ -574 +574 @@ - node: true + - node diff -u b/core/modules/taxonomy/config/views.view.taxonomy_term.yml b/core/modules/taxonomy/config/views.view.taxonomy_term.yml --- b/core/modules/taxonomy/config/views.view.taxonomy_term.yml +++ b/core/modules/taxonomy/config/views.view.taxonomy_term.yml @@ -240 +240 @@ - taxonomy: true + - taxonomy diff -u b/core/modules/user/config/views.view.user_admin_people.yml b/core/modules/user/config/views.view.user_admin_people.yml --- b/core/modules/user/config/views.view.user_admin_people.yml +++ b/core/modules/user/config/views.view.user_admin_people.yml @@ -953 +953 @@ - user: true + - user diff -u b/core/modules/user/config/views.view.who_s_new.yml b/core/modules/user/config/views.view.who_s_new.yml --- b/core/modules/user/config/views.view.who_s_new.yml +++ b/core/modules/user/config/views.view.who_s_new.yml @@ -170 +170 @@ - user: true + - user diff -u b/core/modules/user/config/views.view.who_s_online.yml b/core/modules/user/config/views.view.who_s_online.yml --- b/core/modules/user/config/views.view.who_s_online.yml +++ b/core/modules/user/config/views.view.who_s_online.yml @@ -201 +201 @@ - user: true + - user diff -u b/core/profiles/standard/config/field.field.node.field_image.yml b/core/profiles/standard/config/field.field.node.field_image.yml --- b/core/profiles/standard/config/field.field.node.field_image.yml +++ b/core/profiles/standard/config/field.field.node.field_image.yml @@ -38 +38 @@ - image: true + - image diff -u b/core/profiles/standard/config/field.field.node.field_tags.yml b/core/profiles/standard/config/field.field.node.field_tags.yml --- b/core/profiles/standard/config/field.field.node.field_tags.yml +++ b/core/profiles/standard/config/field.field.node.field_tags.yml @@ -22 +22 @@ - taxonomy: true + - taxonomy diff -u b/core/profiles/standard/config/field.field.user.user_picture.yml b/core/profiles/standard/config/field.field.user.user_picture.yml --- b/core/profiles/standard/config/field.field.user.user_picture.yml +++ b/core/profiles/standard/config/field.field.user.user_picture.yml @@ -38 +38 @@ - image: true + - image