From 9f4d5e84fe213c546579d0d00db7385b69fa8470 Mon Sep 17 00:00:00 2001 From: Nathaniel Catchpole <catch@35733.no-reply.drupal.org> Date: Fri, 5 Jun 2015 10:47:51 +0100 Subject: [PATCH] Issue #2460529 by alexpott, chx, phenaproxima: Migrations need to use the configuration entity dependency system --- .../Drupal/Core/Config/ConfigInstaller.php | 6 -- core/modules/migrate/src/Entity/Migration.php | 58 +++++++++++- .../src/Plugin/Derivative/MigrateEntity.php | 1 + .../Derivative/MigrateEntityRevision.php | 1 + .../src/Plugin/migrate/destination/Config.php | 14 ++- .../src/Plugin/migrate/destination/Entity.php | 14 ++- .../tests/src/Unit/MigrateSourceTest.php | 2 +- .../src/Unit/MigrateSqlSourceTestCase.php | 3 +- .../migrate/tests/src/Unit/SqlBaseTest.php | 7 ++ .../migrate.migration.d6_action_settings.yml | 4 + .../migrate.migration.d6_aggregator_feed.yml | 4 + .../migrate.migration.d6_aggregator_item.yml | 6 ++ ...grate.migration.d6_aggregator_settings.yml | 4 + .../migrate.migration.d6_block.yml | 8 ++ ....migration.d6_block_content_body_field.yml | 9 +- ...igrate.migration.d6_block_content_type.yml | 6 +- .../migrate.migration.d6_book.yml | 7 ++ .../migrate.migration.d6_book_settings.yml | 4 + ...igrate.migration.d6_cck_field_revision.yml | 7 ++ .../migrate.migration.d6_cck_field_values.yml | 8 ++ .../migrate.migration.d6_comment.yml | 12 +++ ...te.migration.d6_comment_entity_display.yml | 6 ++ ...gration.d6_comment_entity_form_display.yml | 6 ++ ...d6_comment_entity_form_display_subject.yml | 6 ++ .../migrate.migration.d6_comment_field.yml | 10 +- ...te.migration.d6_comment_field_instance.yml | 8 ++ .../migrate.migration.d6_comment_type.yml | 5 + .../migrate.migration.d6_contact_category.yml | 4 + .../migrate.migration.d6_contact_settings.yml | 6 ++ .../migrate.migration.d6_custom_block.yml | 7 ++ .../migrate.migration.d6_date_formats.yml | 3 + .../migrate.migration.d6_dblog_settings.yml | 4 + .../migrate.migration.d6_field.yml | 7 +- ....migration.d6_field_formatter_settings.yml | 7 ++ .../migrate.migration.d6_field_instance.yml | 8 ++ ...tion.d6_field_instance_widget_settings.yml | 6 ++ .../migrate.migration.d6_file.yml | 4 + .../migrate.migration.d6_file_settings.yml | 4 + .../migrate.migration.d6_filter_format.yml | 4 + .../migrate.migration.d6_forum_settings.yml | 6 ++ .../migrate.migration.d6_locale_settings.yml | 4 + .../migrate.migration.d6_menu.yml | 4 + .../migrate.migration.d6_menu_links.yml | 6 ++ .../migrate.migration.d6_menu_settings.yml | 4 + .../migrate.migration.d6_node.yml | 9 ++ .../migrate.migration.d6_node_revision.yml | 6 ++ ...rate.migration.d6_node_setting_promote.yml | 6 ++ ...grate.migration.d6_node_setting_status.yml | 6 ++ ...grate.migration.d6_node_setting_sticky.yml | 6 ++ .../migrate.migration.d6_node_settings.yml | 4 + .../migrate.migration.d6_node_type.yml | 4 + .../migrate.migration.d6_profile_values.yml | 9 ++ .../migrate.migration.d6_search_page.yml | 4 + .../migrate.migration.d6_search_settings.yml | 4 + ...grate.migration.d6_simpletest_settings.yml | 4 + ...grate.migration.d6_statistics_settings.yml | 4 + .../migrate.migration.d6_syslog_settings.yml | 4 + .../migrate.migration.d6_system_cron.yml | 4 + .../migrate.migration.d6_system_file.yml | 4 + .../migrate.migration.d6_system_filter.yml | 4 + .../migrate.migration.d6_system_image.yml | 4 + .../migrate.migration.d6_system_image_gd.yml | 4 + .../migrate.migration.d6_system_logging.yml | 4 + ...igrate.migration.d6_system_maintenance.yml | 4 + ...igrate.migration.d6_system_performance.yml | 4 + .../migrate.migration.d6_system_rss.yml | 4 + .../migrate.migration.d6_system_site.yml | 4 + ...migrate.migration.d6_taxonomy_settings.yml | 4 + .../migrate.migration.d6_taxonomy_term.yml | 6 ++ ...grate.migration.d6_taxonomy_vocabulary.yml | 4 + .../migrate.migration.d6_term_node.yml | 8 ++ ...igrate.migration.d6_term_node_revision.yml | 7 ++ .../migrate.migration.d6_text_settings.yml | 4 + .../migrate.migration.d6_update_settings.yml | 4 + .../migrate.migration.d6_upload.yml | 7 ++ ...ate.migration.d6_upload_entity_display.yml | 6 ++ ...igration.d6_upload_entity_form_display.yml | 6 ++ .../migrate.migration.d6_upload_field.yml | 10 +- ...ate.migration.d6_upload_field_instance.yml | 8 ++ .../migrate.migration.d6_url_alias.yml | 3 + .../migrate.migration.d6_user.yml | 6 ++ ...ate.migration.d6_user_contact_settings.yml | 6 ++ .../migrate.migration.d6_user_mail.yml | 4 + ...gration.d6_user_picture_entity_display.yml | 6 ++ ...on.d6_user_picture_entity_form_display.yml | 6 ++ ...igrate.migration.d6_user_picture_field.yml | 10 +- ...gration.d6_user_picture_field_instance.yml | 7 ++ ...migrate.migration.d6_user_picture_file.yml | 1 + ...gration.d6_user_profile_entity_display.yml | 4 + ...on.d6_user_profile_entity_form_display.yml | 4 + ...igrate.migration.d6_user_profile_field.yml | 7 +- ...gration.d6_user_profile_field_instance.yml | 7 ++ .../migrate.migration.d6_user_role.yml | 6 ++ .../migrate.migration.d6_user_settings.yml | 4 + .../migrate.migration.d6_view_modes.yml | 4 + ...migration.d6_vocabulary_entity_display.yml | 6 ++ ...tion.d6_vocabulary_entity_form_display.yml | 6 ++ .../migrate.migration.d6_vocabulary_field.yml | 10 +- ...migration.d6_vocabulary_field_instance.yml | 7 ++ .../schema/migrate_drupal.source.schema.yml | 4 + .../destination/EntityFieldStorageConfig.php | 93 +++++++++++++++++++ .../Plugin/migrate/source/DrupalSqlBase.php | 39 +++++++- .../src/Plugin/migrate/source/EmptySource.php | 69 ++++++++++++++ .../src/Plugin/migrate/source/Variable.php | 5 +- .../src/Plugin/migrate/source/d6/ViewMode.php | 16 ++++ .../src/Tests/MigrateFullDrupalTestBase.php | 15 +++ ...ntVariableEntityFormDisplaySubjectTest.php | 2 +- .../src/Tests/d6/MigrateDrupal6Test.php | 1 + .../d6/MigrateUserContactSettingsTest.php | 5 + .../dependencies/MigrateDependenciesTest.php | 2 +- .../src/Unit/source/d6/Drupal6SqlBaseTest.php | 3 +- 111 files changed, 836 insertions(+), 30 deletions(-) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_action_settings.yml (81%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_aggregator_feed.yml (84%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_aggregator_item.yml (79%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_aggregator_settings.yml (91%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_block.yml (91%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_block_content_body_field.yml (80%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_block_content_type.yml (80%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_book.yml (76%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_book_settings.yml (86%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_cck_field_revision.yml (69%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_cck_field_values.yml (66%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_comment.yml (75%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_comment_entity_display.yml (83%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_comment_entity_form_display.yml (83%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_comment_entity_form_display_subject.yml (87%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_comment_field.yml (70%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_comment_field_instance.yml (84%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_comment_type.yml (82%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_contact_category.yml (87%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_contact_settings.yml (82%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_custom_block.yml (72%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_date_formats.yml (90%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_dblog_settings.yml (81%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_field.yml (96%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_field_formatter_settings.yml (97%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_field_instance.yml (87%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_field_instance_widget_settings.yml (93%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_file.yml (90%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_file_settings.yml (87%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_filter_format.yml (93%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_forum_settings.yml (85%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_locale_settings.yml (85%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_menu.yml (76%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_menu_links.yml (88%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_menu_settings.yml (88%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_node.yml (85%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_node_revision.yml (88%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_node_setting_promote.yml (81%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_node_setting_status.yml (80%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_node_setting_sticky.yml (80%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_node_settings.yml (81%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_node_type.yml (90%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_profile_values.yml (58%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_search_page.yml (90%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_search_settings.yml (89%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_simpletest_settings.yml (90%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_statistics_settings.yml (88%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_syslog_settings.yml (83%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_system_cron.yml (86%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_system_file.yml (87%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_system_filter.yml (81%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_system_image.yml (80%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_system_image_gd.yml (82%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_system_logging.yml (86%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_system_maintenance.yml (82%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_system_performance.yml (88%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_system_rss.yml (84%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_system_site.yml (90%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_taxonomy_settings.yml (86%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_taxonomy_term.yml (82%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_taxonomy_vocabulary.yml (88%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_term_node.yml (66%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_term_node_revision.yml (75%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_text_settings.yml (82%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_update_settings.yml (90%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_upload.yml (77%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_upload_entity_display.yml (84%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_upload_entity_form_display.yml (85%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_upload_field.yml (79%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_upload_field_instance.yml (78%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_url_alias.yml (81%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user.yml (87%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_contact_settings.yml (80%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_mail.yml (96%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_picture_entity_display.yml (85%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_picture_entity_form_display.yml (85%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_picture_field.yml (76%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_picture_field_instance.yml (86%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_picture_file.yml (96%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_profile_entity_display.yml (94%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_profile_entity_form_display.yml (95%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_profile_field.yml (86%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_profile_field_instance.yml (79%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_role.yml (92%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_user_settings.yml (92%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_view_modes.yml (92%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_vocabulary_entity_display.yml (84%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_vocabulary_entity_form_display.yml (84%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_vocabulary_field.yml (75%) rename core/modules/migrate_drupal/config/{install => optional}/migrate.migration.d6_vocabulary_field_instance.yml (85%) create mode 100644 core/modules/migrate_drupal/src/Plugin/migrate/destination/EntityFieldStorageConfig.php create mode 100644 core/modules/migrate_drupal/src/Plugin/migrate/source/EmptySource.php diff --git a/core/lib/Drupal/Core/Config/ConfigInstaller.php b/core/lib/Drupal/Core/Config/ConfigInstaller.php index 6c0bd7ee3348..0ac79c08578c 100644 --- a/core/lib/Drupal/Core/Config/ConfigInstaller.php +++ b/core/lib/Drupal/Core/Config/ConfigInstaller.php @@ -498,12 +498,6 @@ protected function findDefaultConfigWithUnmetDependencies(StorageInterface $stor * TRUE if the dependencies are met, FALSE if not. */ protected function validateDependencies($config_name, array $data, array $enabled_extensions, array $all_config) { - // All the migrate tests will fail if we check since they install the - // migrate_drupal module but only set up the dependencies for the single - // migration they are testing. - if (strpos($config_name, 'migrate.migration.') === 0) { - return TRUE; - } if (isset($data['dependencies'])) { $all_dependencies = $data['dependencies']; diff --git a/core/modules/migrate/src/Entity/Migration.php b/core/modules/migrate/src/Entity/Migration.php index cdc22166314a..e3f920cb5d5f 100644 --- a/core/modules/migrate/src/Entity/Migration.php +++ b/core/modules/migrate/src/Entity/Migration.php @@ -198,12 +198,41 @@ class Migration extends ConfigEntityBase implements MigrationInterface, Requirem protected $requirements = []; /** - * These migrations, if ran at all, must be executed before this migration. + * These migrations, if run, must be executed before this migration. + * + * These are different from the configuration dependencies. Migration + * dependencies are only used to store relationships between migrations. + * + * The migration_dependencies value is structured like this: + * @code + * array( + * 'required' => array( + * // An array of migration IDs that must be run before this migration. + * ), + * 'optional' => array( + * // An array of migration IDs that, if they exist, must be run before + * // this migration. + * ), + * ); + * @endcode * * @var array */ protected $migration_dependencies = []; + /** + * The migration's configuration dependencies. + * + * These store any dependencies on modules or other configuration (including + * other migrations) that must be available before the migration can be + * created. + * + * @see \Drupal\Core\Config\Entity\ConfigDependencyManager + * + * @var array + */ + protected $dependencies = []; + /** * The entity manager. * @@ -478,6 +507,31 @@ public function setTrackLastImported($track_last_imported) { * {@inheritdoc} */ public function getMigrationDependencies() { - return $this->migration_dependencies; + return $this->migration_dependencies + ['required' => [], 'optional' => []]; + } + + /** + * {@inheritdoc} + */ + public function trustData() { + // Migrations cannot be trusted since they are often written by hand and not + // through a UI. + $this->trustedData = FALSE; + return $this; + } + + /** + * {@inheritdoc} + */ + public function calculateDependencies() { + parent::calculateDependencies(); + $this->calculatePluginDependencies($this->getSourcePlugin()); + $this->calculatePluginDependencies($this->getDestinationPlugin()); + // Add dependencies on required migration dependencies. + foreach ($this->getMigrationDependencies()['required'] as $dependency) { + $this->addDependency('config', $this->getEntityType()->getConfigPrefix() . '.' . $dependency); + } + + return $this->dependencies; } } diff --git a/core/modules/migrate/src/Plugin/Derivative/MigrateEntity.php b/core/modules/migrate/src/Plugin/Derivative/MigrateEntity.php index 8f4a57313435..76884721457f 100644 --- a/core/modules/migrate/src/Plugin/Derivative/MigrateEntity.php +++ b/core/modules/migrate/src/Plugin/Derivative/MigrateEntity.php @@ -68,6 +68,7 @@ public function getDerivativeDefinitions($base_plugin_definition) { 'id' => "entity:$entity_type", 'class' => $class, 'requirements_met' => 1, + 'provider' => $entity_info->getProvider(), ); } return $this->derivatives; diff --git a/core/modules/migrate/src/Plugin/Derivative/MigrateEntityRevision.php b/core/modules/migrate/src/Plugin/Derivative/MigrateEntityRevision.php index 5c9ae1972455..51c98302ca7d 100644 --- a/core/modules/migrate/src/Plugin/Derivative/MigrateEntityRevision.php +++ b/core/modules/migrate/src/Plugin/Derivative/MigrateEntityRevision.php @@ -66,6 +66,7 @@ public function getDerivativeDefinitions($base_plugin_definition) { 'id' => "entity_revision:$entity_type", 'class' => 'Drupal\migrate\Plugin\migrate\destination\EntityRevision', 'requirements_met' => 1, + 'provider' => $entity_info->getProvider(), ); } } diff --git a/core/modules/migrate/src/Plugin/migrate/destination/Config.php b/core/modules/migrate/src/Plugin/migrate/destination/Config.php index 7d84813a6c1d..dcb397bfa477 100644 --- a/core/modules/migrate/src/Plugin/migrate/destination/Config.php +++ b/core/modules/migrate/src/Plugin/migrate/destination/Config.php @@ -6,7 +6,9 @@ namespace Drupal\migrate\Plugin\migrate\destination; +use Drupal\Component\Plugin\DependentPluginInterface; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Entity\DependencyTrait; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\migrate\Entity\MigrationInterface; use Drupal\migrate\MigrateException; @@ -24,7 +26,8 @@ * id = "config" * ) */ -class Config extends DestinationBase implements ContainerFactoryPluginInterface { +class Config extends DestinationBase implements ContainerFactoryPluginInterface, DependentPluginInterface { + use DependencyTrait; /** * The config object. @@ -104,4 +107,13 @@ public function getIds() { return array(); } + /** + * {@inheritdoc} + */ + public function calculateDependencies() { + $provider = explode('.', $this->config->getName(), 2)[0]; + $this->addDependency('module', $provider); + return $this->dependencies; + } + } diff --git a/core/modules/migrate/src/Plugin/migrate/destination/Entity.php b/core/modules/migrate/src/Plugin/migrate/destination/Entity.php index 9c44732bf898..69ff3e5198a6 100644 --- a/core/modules/migrate/src/Plugin/migrate/destination/Entity.php +++ b/core/modules/migrate/src/Plugin/migrate/destination/Entity.php @@ -7,6 +7,8 @@ namespace Drupal\migrate\Plugin\migrate\destination; +use Drupal\Component\Plugin\DependentPluginInterface; +use Drupal\Core\Entity\DependencyTrait; use Drupal\Core\Entity\EntityStorageInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\migrate\Entity\MigrationInterface; @@ -19,7 +21,8 @@ * deriver = "Drupal\migrate\Plugin\Derivative\MigrateEntity" * ) */ -abstract class Entity extends DestinationBase implements ContainerFactoryPluginInterface { +abstract class Entity extends DestinationBase implements ContainerFactoryPluginInterface, DependentPluginInterface { + use DependencyTrait; /** * The entity storage. @@ -80,7 +83,6 @@ public static function create(ContainerInterface $container, array $configuratio * * @return string * The entity type. - * @throws \Drupal\migrate\MigrateException */ protected static function getEntityTypeId($plugin_id) { // Remove "entity:" @@ -169,4 +171,12 @@ protected function getKey($key) { return $this->storage->getEntityType()->getKey($key); } + /** + * {@inheritdoc} + */ + public function calculateDependencies() { + $this->addDependency('module', $this->storage->getEntityType()->getProvider()); + return $this->dependencies; + } + } diff --git a/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php b/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php index a2389274869e..366de38e0975 100644 --- a/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php +++ b/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php @@ -83,7 +83,7 @@ protected function getSource($configuration = [], $migrate_config = [], $status ->willReturn($id_map_array); $constructor_args = [$configuration, 'd6_action', [], $this->migration]; - $methods = ['getModuleHandler', 'fields', 'getIds', '__toString', 'getIterator', 'prepareRow', 'initializeIterator']; + $methods = ['getModuleHandler', 'fields', 'getIds', '__toString', 'getIterator', 'prepareRow', 'initializeIterator', 'calculateDependencies']; $source_plugin = $this->getMock('\Drupal\migrate\Plugin\migrate\source\SourcePluginBase', $methods, $constructor_args); $source_plugin diff --git a/core/modules/migrate/tests/src/Unit/MigrateSqlSourceTestCase.php b/core/modules/migrate/tests/src/Unit/MigrateSqlSourceTestCase.php index 22863aa27d89..16d7e0be8030 100644 --- a/core/modules/migrate/tests/src/Unit/MigrateSqlSourceTestCase.php +++ b/core/modules/migrate/tests/src/Unit/MigrateSqlSourceTestCase.php @@ -70,6 +70,7 @@ abstract class MigrateSqlSourceTestCase extends MigrateTestCase { */ protected function setUp() { $module_handler = $this->getMock('Drupal\Core\Extension\ModuleHandlerInterface'); + $entity_manager = $this->getMock('Drupal\Core\Entity\EntityManagerInterface'); $migration = $this->getMigration(); $migration->expects($this->any()) @@ -77,7 +78,7 @@ protected function setUp() { ->will($this->returnValue(static::ORIGINAL_HIGH_WATER)); // Need the test class, not the original because we need a setDatabase method. This is not pretty :/ $plugin_class = preg_replace('/^Drupal\\\\(\w+)\\\\Plugin\\\\migrate(\\\\source(\\\\.+)?\\\\)([^\\\\]+)$/', 'Drupal\\Tests\\\$1\\Unit$2Test$4', static::PLUGIN_CLASS); - $plugin = new $plugin_class($this->migrationConfiguration['source'], $this->migrationConfiguration['source']['plugin'], array(), $migration); + $plugin = new $plugin_class($this->migrationConfiguration['source'], $this->migrationConfiguration['source']['plugin'], array(), $migration, $entity_manager); $plugin->setDatabase($this->getDatabase($this->databaseContents + array('test_map' => array()))); $plugin->setModuleHandler($module_handler); $plugin->setStringTranslation($this->getStringTranslationStub()); diff --git a/core/modules/migrate/tests/src/Unit/SqlBaseTest.php b/core/modules/migrate/tests/src/Unit/SqlBaseTest.php index b526b7c5a094..caa6e3da295a 100644 --- a/core/modules/migrate/tests/src/Unit/SqlBaseTest.php +++ b/core/modules/migrate/tests/src/Unit/SqlBaseTest.php @@ -167,4 +167,11 @@ public function fields() {} */ public function query() {} + /** + * {@inheritdoc} + */ + public function calculateDependencies() { + return []; + } + } diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_action_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_action_settings.yml similarity index 81% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_action_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_action_settings.yml index a1b6265618a5..1a518fbff695 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_action_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_action_settings.yml @@ -11,3 +11,7 @@ process: destination: plugin: config config_name: action.settings +dependencies: + module: + - action + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_aggregator_feed.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_aggregator_feed.yml similarity index 84% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_aggregator_feed.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_aggregator_feed.yml index 7b19afd34486..2daaa8a8dc40 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_aggregator_feed.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_aggregator_feed.yml @@ -19,3 +19,7 @@ process: destination: plugin: entity:aggregator_feed +dependencies: + module: + - aggregator + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_aggregator_item.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_aggregator_item.yml similarity index 79% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_aggregator_item.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_aggregator_item.yml index 615c55013837..aa80302e82bf 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_aggregator_item.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_aggregator_item.yml @@ -22,3 +22,9 @@ destination: migration_dependencies: required: - d6_aggregator_feed +dependencies: + config: + - migrate.migration.d6_aggregator_feed + module: + - aggregator + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_aggregator_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_aggregator_settings.yml similarity index 91% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_aggregator_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_aggregator_settings.yml index 5b8e6059a27a..9720f6e5a9bf 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_aggregator_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_aggregator_settings.yml @@ -23,3 +23,7 @@ process: destination: plugin: config config_name: aggregator.settings +dependencies: + module: + - aggregator + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_block.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_block.yml similarity index 91% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_block.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_block.yml index a291ecb73dbf..ef02e6fc5d62 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_block.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_block.yml @@ -91,3 +91,11 @@ migration_dependencies: - d6_menu - d6_custom_block - d6_user_role +dependencies: + config: + - migrate.migration.d6_custom_block + - migrate.migration.d6_menu + - migrate.migration.d6_user_role + module: + - block + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_block_content_body_field.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_block_content_body_field.yml similarity index 80% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_block_content_body_field.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_block_content_body_field.yml index 3da5490ee127..08935eed9e68 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_block_content_body_field.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_block_content_body_field.yml @@ -5,7 +5,7 @@ migration_tags: source: # We do an empty source and a proper destination to have an idmap for # migration_dependencies. - plugin: empty + plugin: md_empty constants: entity_type: block_content bundle: basic @@ -23,3 +23,10 @@ destination: migration_dependencies: required: - d6_block_content_type +dependencies: + config: + - migrate.migration.d6_block_content_type + module: + - block_content + - field + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_block_content_type.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_block_content_type.yml similarity index 80% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_block_content_type.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_block_content_type.yml index 34395560c459..f055a6180858 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_block_content_type.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_block_content_type.yml @@ -5,7 +5,7 @@ migration_tags: source: # We do an empty source and a proper destination to have an idmap for # migration_dependencies. - plugin: empty + plugin: md_empty constants: id: basic label: Basic @@ -14,3 +14,7 @@ process: label: 'constants/label' destination: plugin: entity:block_content_type +dependencies: + module: + - block_content + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_book.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_book.yml similarity index 76% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_book.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_book.yml index 1467f91e19e5..b6b668d14f30 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_book.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_book.yml @@ -20,3 +20,10 @@ destination: migration_dependencies: required: - d6_node +dependencies: + config: + - migrate.migration.d6_node + module: + - book + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_book_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_book_settings.yml similarity index 86% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_book_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_book_settings.yml index e885d37e9e85..35302d0313e8 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_book_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_book_settings.yml @@ -15,3 +15,7 @@ process: destination: plugin: config config_name: book.settings +dependencies: + module: + - book + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_cck_field_revision.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_cck_field_revision.yml similarity index 69% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_cck_field_revision.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_cck_field_revision.yml index fa159894c27e..b3203f913261 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_cck_field_revision.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_cck_field_revision.yml @@ -15,3 +15,10 @@ migration_dependencies: required: - d6_cck_field_values - d6_node_revision +dependencies: + config: + - migrate.migration.d6_cck_field_values + - migrate.migration.d6_node_revision + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_cck_field_values.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_cck_field_values.yml similarity index 66% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_cck_field_values.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_cck_field_values.yml index 27027baf7218..0457ecfe7b96 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_cck_field_values.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_cck_field_values.yml @@ -19,3 +19,11 @@ migration_dependencies: - d6_node - d6_field_formatter_settings - d6_field_instance_widget_settings +dependencies: + config: + - migrate.migration.d6_field_formatter_settings + - migrate.migration.d6_field_instance_widget_settings + - migrate.migration.d6_node + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment.yml similarity index 75% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_comment.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment.yml index 1a41ec7aecfd..94fb020f0511 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment.yml @@ -43,3 +43,15 @@ migration_dependencies: - d6_comment_entity_display - d6_comment_entity_form_display - d6_filter_format +dependencies: + config: + - migrate.migration.d6_comment_entity_display + - migrate.migration.d6_comment_entity_form_display + - migrate.migration.d6_comment_type + - migrate.migration.d6_filter_format + - migrate.migration.d6_node + - migrate.migration.d6_user + module: + - comment + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_entity_display.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_entity_display.yml similarity index 83% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_entity_display.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_entity_display.yml index e06c08fcce4d..99e373b40342 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_entity_display.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_entity_display.yml @@ -24,3 +24,9 @@ destination: migration_dependencies: required: - d6_comment_field_instance +dependencies: + config: + - migrate.migration.d6_comment_field_instance + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_entity_form_display.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_entity_form_display.yml similarity index 83% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_entity_form_display.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_entity_form_display.yml index a05a11baeb6d..059517f2047e 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_entity_form_display.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_entity_form_display.yml @@ -23,3 +23,9 @@ destination: migration_dependencies: required: - d6_comment_field_instance +dependencies: + config: + - migrate.migration.d6_comment_field_instance + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_entity_form_display_subject.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_entity_form_display_subject.yml similarity index 87% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_entity_form_display_subject.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_entity_form_display_subject.yml index a7e3e6b248ff..8a362728923e 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_entity_form_display_subject.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_entity_form_display_subject.yml @@ -30,3 +30,9 @@ destination: migration_dependencies: required: - d6_comment_type +dependencies: + config: + - migrate.migration.d6_comment_type + module: + - comment + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_field.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_field.yml similarity index 70% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_field.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_field.yml index ea5154631183..ab22f23cfbba 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_field.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_field.yml @@ -13,7 +13,15 @@ process: type: 'constants/type' 'settings/comment_type': comment_type destination: - plugin: entity:field_storage_config + plugin: md_entity:field_storage_config migration_dependencies: required: - d6_comment_type +dependencies: + config: + - migrate.migration.d6_comment_type + module: + - comment + - field + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_field_instance.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_field_instance.yml similarity index 84% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_field_instance.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_field_instance.yml index f00b5278bf3a..669ea9437771 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_field_instance.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_field_instance.yml @@ -32,3 +32,11 @@ migration_dependencies: required: - d6_comment_field - d6_node_type +dependencies: + config: + - migrate.migration.d6_comment_field + - migrate.migration.d6_node_type + module: + - field + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_type.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_type.yml similarity index 82% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_type.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_type.yml index 54ffec188aff..35dfde0ad5ae 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_comment_type.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_comment_type.yml @@ -13,3 +13,8 @@ process: description: description destination: plugin: entity:comment_type +dependencies: + module: + - comment + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_contact_category.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_contact_category.yml similarity index 87% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_contact_category.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_contact_category.yml index d50e4fe751cb..cab9f3be1390 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_contact_category.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_contact_category.yml @@ -20,3 +20,7 @@ process: weight: weight destination: plugin: entity:contact_form +dependencies: + module: + - contact + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_contact_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_contact_settings.yml similarity index 82% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_contact_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_contact_settings.yml index e0897feec333..d0e4a3da8987 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_contact_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_contact_settings.yml @@ -20,3 +20,9 @@ destination: migration_dependencies: required: - d6_contact_category +dependencies: + config: + - migrate.migration.d6_contact_category + module: + - contact + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_custom_block.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_custom_block.yml similarity index 72% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_custom_block.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_custom_block.yml index 0564f892011e..be6cebfadd93 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_custom_block.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_custom_block.yml @@ -22,3 +22,10 @@ migration_dependencies: required: - d6_filter_format - d6_block_content_body_field +dependencies: + config: + - migrate.migration.d6_block_content_body_field + - migrate.migration.d6_filter_format + module: + - block_content + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_date_formats.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_date_formats.yml similarity index 90% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_date_formats.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_date_formats.yml index c7f3422201d3..44448e671745 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_date_formats.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_date_formats.yml @@ -19,3 +19,6 @@ process: pattern: value destination: plugin: entity:date_format +dependencies: + module: + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_dblog_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_dblog_settings.yml similarity index 81% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_dblog_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_dblog_settings.yml index 6c94b1e2eb8e..fb387f57eac6 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_dblog_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_dblog_settings.yml @@ -11,3 +11,7 @@ process: destination: plugin: config config_name: dblog.settings +dependencies: + module: + - dblog + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_field.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_field.yml similarity index 96% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_field.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_field.yml index 52a082431d7b..191c538f262d 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_field.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_field.yml @@ -130,4 +130,9 @@ process: - widget_settings destination: - plugin: entity:field_storage_config + plugin: md_entity:field_storage_config +dependencies: + module: + - field + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_field_formatter_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_field_formatter_settings.yml similarity index 97% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_field_formatter_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_field_formatter_settings.yml index 70d5ecbb9528..c5165b37bbde 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_field_formatter_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_field_formatter_settings.yml @@ -255,3 +255,10 @@ migration_dependencies: required: - d6_field_instance - d6_view_modes +dependencies: + config: + - migrate.migration.d6_field_instance + - migrate.migration.d6_view_modes + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_field_instance.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_field_instance.yml similarity index 87% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_field_instance.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_field_instance.yml index 21ef66d66ce4..c7dda0699e8e 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_field_instance.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_field_instance.yml @@ -49,3 +49,11 @@ migration_dependencies: required: - d6_node_type - d6_field +dependencies: + config: + - migrate.migration.d6_field + - migrate.migration.d6_node_type + module: + - field + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_field_instance_widget_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_field_instance_widget_settings.yml similarity index 93% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_field_instance_widget_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_field_instance_widget_settings.yml index cecc32943022..4bd3fad0dbd7 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_field_instance_widget_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_field_instance_widget_settings.yml @@ -59,3 +59,9 @@ destination: migration_dependencies: required: - d6_field_instance +dependencies: + config: + - migrate.migration.d6_field_instance + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_file.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_file.yml similarity index 90% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_file.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_file.yml index e8ead684bd22..508d0bba6d32 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_file.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_file.yml @@ -23,3 +23,7 @@ process: uid: uid destination: plugin: entity:file +dependencies: + module: + - file + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_file_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_file_settings.yml similarity index 87% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_file_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_file_settings.yml index f08d92e64a97..f2ca1707d3eb 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_file_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_file_settings.yml @@ -15,3 +15,7 @@ process: destination: plugin: config config_name: file.settings +dependencies: + module: + - file + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_filter_format.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_filter_format.yml similarity index 93% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_filter_format.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_filter_format.yml index 16982d39ae2b..9efaf7a6a6ed 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_filter_format.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_filter_format.yml @@ -43,3 +43,7 @@ process: destination: plugin: entity:filter_format no_stub: true +dependencies: + module: + - filter + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_forum_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_forum_settings.yml similarity index 85% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_forum_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_forum_settings.yml index 2df6496d7c65..72e4814f32c6 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_forum_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_forum_settings.yml @@ -27,3 +27,9 @@ destination: migration_dependencies: required: - d6_taxonomy_vocabulary +dependencies: + config: + - migrate.migration.d6_taxonomy_vocabulary + module: + - forum + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_locale_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_locale_settings.yml similarity index 85% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_locale_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_locale_settings.yml index e9440cc847d7..a38bd9221fb3 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_locale_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_locale_settings.yml @@ -13,3 +13,7 @@ process: destination: plugin: config config_name: locale.settings +dependencies: + module: + - locale + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_menu.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_menu.yml similarity index 76% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_menu.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_menu.yml index 0d353c22ee22..4def0bf37039 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_menu.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_menu.yml @@ -10,3 +10,7 @@ process: description: description destination: plugin: entity:menu +dependencies: + module: + - migrate_drupal + - system diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_menu_links.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_menu_links.yml similarity index 88% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_menu_links.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_menu_links.yml index 91c093e98b35..2ad803295070 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_menu_links.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_menu_links.yml @@ -44,3 +44,9 @@ destination: migration_dependencies: required: - d6_menu +dependencies: + config: + - migrate.migration.d6_menu + module: + - menu_link_content + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_menu_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_menu_settings.yml similarity index 88% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_menu_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_menu_settings.yml index 9f332fb67051..8ec039d84122 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_menu_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_menu_settings.yml @@ -15,3 +15,7 @@ process: destination: plugin: config config_name: menu_ui.settings +dependencies: + module: + - menu_ui + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node.yml similarity index 85% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_node.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_node.yml index 947a3cf8da9a..4092a25ef877 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node.yml @@ -53,3 +53,12 @@ migration_dependencies: optional: - d6_field_instance_widget_settings - d6_field_formatter_settings +dependencies: + config: + - migrate.migration.d6_filter_format + - migrate.migration.d6_node_settings + - migrate.migration.d6_node_type + - migrate.migration.d6_user + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_revision.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_revision.yml similarity index 88% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_node_revision.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_revision.yml index 0b1a4789d702..42118b3ab729 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_revision.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_revision.yml @@ -40,3 +40,9 @@ destination: migration_dependencies: required: - d6_node +dependencies: + config: + - migrate.migration.d6_node + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_setting_promote.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_setting_promote.yml similarity index 81% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_node_setting_promote.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_setting_promote.yml index 8f6da3555b2c..c7f6d24eccb5 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_setting_promote.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_setting_promote.yml @@ -17,3 +17,9 @@ destination: migration_dependencies: required: - d6_node_type +dependencies: + config: + - migrate.migration.d6_node_type + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_setting_status.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_setting_status.yml similarity index 80% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_node_setting_status.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_setting_status.yml index 5d3e41294c3b..ec7afd6bf154 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_setting_status.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_setting_status.yml @@ -17,3 +17,9 @@ destination: migration_dependencies: required: - d6_node_type +dependencies: + config: + - migrate.migration.d6_node_type + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_setting_sticky.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_setting_sticky.yml similarity index 80% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_node_setting_sticky.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_setting_sticky.yml index 8a8f7b7cb09d..4f1b613713c6 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_setting_sticky.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_setting_sticky.yml @@ -17,3 +17,9 @@ destination: migration_dependencies: required: - d6_node_type +dependencies: + config: + - migrate.migration.d6_node_type + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_settings.yml similarity index 81% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_node_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_settings.yml index 3e12dd6ec303..336383a21718 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_settings.yml @@ -11,3 +11,7 @@ process: destination: plugin: config config_name: node.settings +dependencies: + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_type.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_type.yml similarity index 90% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_node_type.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_type.yml index 009c3a0efb0b..7bd24ac6da66 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_node_type.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_node_type.yml @@ -22,3 +22,7 @@ process: create_body_label: body_label destination: plugin: entity:node_type +dependencies: + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_profile_values.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_profile_values.yml similarity index 58% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_profile_values.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_profile_values.yml index d2b81a5bfb69..047de4d04cc5 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_profile_values.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_profile_values.yml @@ -16,3 +16,12 @@ migration_dependencies: - d6_user_profile_field_instance - d6_user_profile_entity_display - d6_user_profile_entity_form_display +dependencies: + config: + - migrate.migration.d6_user + - migrate.migration.d6_user_profile_entity_display + - migrate.migration.d6_user_profile_entity_form_display + - migrate.migration.d6_user_profile_field_instance + module: + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_search_page.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_search_page.yml similarity index 90% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_search_page.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_search_page.yml index d12aca6760ff..6c05d1f1ed0a 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_search_page.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_search_page.yml @@ -23,3 +23,7 @@ process: plugin: d6_search_configuration_rankings destination: plugin: entity:search_page +dependencies: + module: + - migrate_drupal + - search diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_search_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_search_settings.yml similarity index 89% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_search_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_search_settings.yml index 36f5447c8d34..8e832e4ef671 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_search_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_search_settings.yml @@ -20,3 +20,7 @@ process: destination: plugin: config config_name: search.settings +dependencies: + module: + - migrate_drupal + - search diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_simpletest_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_simpletest_settings.yml similarity index 90% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_simpletest_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_simpletest_settings.yml index d616a5996327..0791f1144ad5 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_simpletest_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_simpletest_settings.yml @@ -19,3 +19,7 @@ process: destination: plugin: config config_name: simpletest.settings +dependencies: + module: + - migrate_drupal + - simpletest diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_statistics_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_statistics_settings.yml similarity index 88% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_statistics_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_statistics_settings.yml index a8820db2e1e4..b223e36647f8 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_statistics_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_statistics_settings.yml @@ -15,3 +15,7 @@ process: destination: plugin: config config_name: statistics.settings +dependencies: + module: + - migrate_drupal + - statistics diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_syslog_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_syslog_settings.yml similarity index 83% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_syslog_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_syslog_settings.yml index 4c9fd4969c4f..e962856200fc 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_syslog_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_syslog_settings.yml @@ -13,3 +13,7 @@ process: destination: plugin: config config_name: syslog.settings +dependencies: + module: + - migrate_drupal + - syslog diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_cron.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_cron.yml similarity index 86% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_system_cron.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_cron.yml index 01970a900a92..47be1354f9c6 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_cron.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_cron.yml @@ -14,3 +14,7 @@ process: destination: plugin: config config_name: system.cron +dependencies: + module: + - migrate_drupal + - system diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_file.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_file.yml similarity index 87% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_system_file.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_file.yml index 1405ff5a2a9f..925b5a9fe129 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_file.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_file.yml @@ -18,3 +18,7 @@ process: destination: plugin: config config_name: system.file +dependencies: + module: + - migrate_drupal + - system diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_filter.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_filter.yml similarity index 81% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_system_filter.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_filter.yml index 739268dd4aaa..8e36db7cc9d0 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_filter.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_filter.yml @@ -11,3 +11,7 @@ process: destination: plugin: config config_name: system.filter +dependencies: + module: + - migrate_drupal + - system diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_image.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_image.yml similarity index 80% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_system_image.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_image.yml index f19d516ac9a4..9581291e8acc 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_image.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_image.yml @@ -11,3 +11,7 @@ process: destination: plugin: config config_name: system.image +dependencies: + module: + - migrate_drupal + - system diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_image_gd.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_image_gd.yml similarity index 82% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_system_image_gd.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_image_gd.yml index 52b90520a8ce..583ca5bea678 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_image_gd.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_image_gd.yml @@ -11,3 +11,7 @@ process: destination: plugin: config config_name: system.image.gd +dependencies: + module: + - migrate_drupal + - system diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_logging.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_logging.yml similarity index 86% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_system_logging.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_logging.yml index bca03ec084ff..b75bc7e97880 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_logging.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_logging.yml @@ -19,3 +19,7 @@ process: destination: plugin: config config_name: system.logging +dependencies: + module: + - migrate_drupal + - system diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_maintenance.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_maintenance.yml similarity index 82% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_system_maintenance.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_maintenance.yml index afee3e8e8ffa..ee4068355e31 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_maintenance.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_maintenance.yml @@ -11,3 +11,7 @@ process: destination: plugin: config config_name: system.maintenance +dependencies: + module: + - migrate_drupal + - system diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_performance.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_performance.yml similarity index 88% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_system_performance.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_performance.yml index edff8115e209..a10edfd271dd 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_performance.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_performance.yml @@ -18,3 +18,7 @@ process: destination: plugin: config config_name: system.performance +dependencies: + module: + - migrate_drupal + - system diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_rss.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_rss.yml similarity index 84% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_system_rss.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_rss.yml index 7d5fd146d5ec..7f5d3d4a6029 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_rss.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_rss.yml @@ -13,3 +13,7 @@ process: destination: plugin: config config_name: system.rss +dependencies: + module: + - migrate_drupal + - system diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_site.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_site.yml similarity index 90% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_system_site.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_site.yml index f940abb018e7..c4920faf257d 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_system_site.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_system_site.yml @@ -25,3 +25,7 @@ process: destination: plugin: config config_name: system.site +dependencies: + module: + - migrate_drupal + - system diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_taxonomy_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_taxonomy_settings.yml similarity index 86% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_taxonomy_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_taxonomy_settings.yml index 3fe9e1fd90c5..094e9d792c99 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_taxonomy_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_taxonomy_settings.yml @@ -13,3 +13,7 @@ process: destination: plugin: config config_name: taxonomy.settings +dependencies: + module: + - migrate_drupal + - taxonomy diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_taxonomy_term.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_taxonomy_term.yml similarity index 82% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_taxonomy_term.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_taxonomy_term.yml index c53912f1db4f..826a1fa049e7 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_taxonomy_term.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_taxonomy_term.yml @@ -26,3 +26,9 @@ destination: migration_dependencies: required: - d6_taxonomy_vocabulary +dependencies: + config: + - migrate.migration.d6_taxonomy_vocabulary + module: + - migrate_drupal + - taxonomy diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_taxonomy_vocabulary.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_taxonomy_vocabulary.yml similarity index 88% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_taxonomy_vocabulary.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_taxonomy_vocabulary.yml index 414d2cb4f226..1a9cb9c908e2 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_taxonomy_vocabulary.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_taxonomy_vocabulary.yml @@ -21,3 +21,7 @@ process: weight: weight destination: plugin: entity:taxonomy_vocabulary +dependencies: + module: + - migrate_drupal + - taxonomy diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_term_node.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_term_node.yml similarity index 66% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_term_node.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_term_node.yml index 4eaf93572431..6d0befe85bf8 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_term_node.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_term_node.yml @@ -20,3 +20,11 @@ migration_dependencies: - d6_vocabulary_entity_display - d6_vocabulary_entity_form_display - d6_node +dependencies: + config: + - migrate.migration.d6_node + - migrate.migration.d6_vocabulary_entity_display + - migrate.migration.d6_vocabulary_entity_form_display + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_term_node_revision.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_term_node_revision.yml similarity index 75% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_term_node_revision.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_term_node_revision.yml index 319d000595cb..9193738355b7 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_term_node_revision.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_term_node_revision.yml @@ -20,3 +20,10 @@ migration_dependencies: required: - d6_term_node - d6_node_revision +dependencies: + config: + - migrate.migration.d6_node_revision + - migrate.migration.d6_term_node + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_text_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_text_settings.yml similarity index 82% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_text_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_text_settings.yml index 8f6fff30b550..56d3303aa564 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_text_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_text_settings.yml @@ -11,3 +11,7 @@ process: destination: plugin: config config_name: text.settings +dependencies: + module: + - migrate_drupal + - text diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_update_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_update_settings.yml similarity index 90% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_update_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_update_settings.yml index 4e873502e5c2..8a61e51cc3c7 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_update_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_update_settings.yml @@ -19,3 +19,7 @@ process: destination: plugin: config config_name: update.settings +dependencies: + module: + - migrate_drupal + - update diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_upload.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload.yml similarity index 77% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_upload.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload.yml index 2d04241aff52..fedda76ed850 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_upload.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload.yml @@ -25,3 +25,10 @@ migration_dependencies: required: - d6_file - d6_node +dependencies: + config: + - migrate.migration.d6_file + - migrate.migration.d6_node + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_entity_display.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_entity_display.yml similarity index 84% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_entity_display.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_entity_display.yml index 28e154b0a667..8daf13f1ca00 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_entity_display.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_entity_display.yml @@ -25,3 +25,9 @@ destination: migration_dependencies: required: - d6_upload_field_instance +dependencies: + config: + - migrate.migration.d6_upload_field_instance + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_entity_form_display.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_entity_form_display.yml similarity index 85% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_entity_form_display.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_entity_form_display.yml index 7725659cbece..f248d1d2512b 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_entity_form_display.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_entity_form_display.yml @@ -26,3 +26,9 @@ destination: migration_dependencies: required: - d6_upload_field_instance +dependencies: + config: + - migrate.migration.d6_upload_field_instance + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_field.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_field.yml similarity index 79% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_field.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_field.yml index 81cfbb936fa5..15df33af5318 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_field.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_field.yml @@ -5,7 +5,7 @@ migration_tags: source: # We do an empty source and a proper destination to have an idmap for # migration_dependencies. - plugin: empty + plugin: md_empty provider: upload constants: entity_type: node @@ -20,4 +20,10 @@ process: cardinality: 'constants/cardinality' 'settings/display_field': 'constants/display_field' destination: - plugin: entity:field_storage_config + plugin: md_entity:field_storage_config +dependencies: + module: + - field + - file + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_field_instance.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_field_instance.yml similarity index 78% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_field_instance.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_field_instance.yml index 4410ec011515..701351263765 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_upload_field_instance.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_upload_field_instance.yml @@ -22,3 +22,11 @@ migration_dependencies: required: - d6_upload_field - d6_node_type +dependencies: + config: + - migrate.migration.d6_node_type + - migrate.migration.d6_upload_field + module: + - field + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_url_alias.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_url_alias.yml similarity index 81% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_url_alias.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_url_alias.yml index 9fb1053c885b..a8579e9cb83d 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_url_alias.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_url_alias.yml @@ -12,3 +12,6 @@ process: destination: plugin: url_alias +dependencies: + module: + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user.yml similarity index 87% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user.yml index 05ff4a00e5e1..b55e2ec03e5e 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user.yml @@ -35,3 +35,9 @@ migration_dependencies: - d6_user_picture_file - d6_user_picture_entity_display - d6_user_picture_entity_form_display +dependencies: + config: + - migrate.migration.d6_user_role + module: + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_contact_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_contact_settings.yml similarity index 80% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_contact_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_contact_settings.yml index 04291550ccac..7da9e52ce7c8 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_contact_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_contact_settings.yml @@ -21,3 +21,9 @@ destination: migration_dependencies: required: - d6_user +dependencies: + config: + - migrate.migration.d6_user + module: + - contact + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_mail.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_mail.yml similarity index 96% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_mail.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_mail.yml index bc3badf6bd3a..15ea0d41cec0 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_mail.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_mail.yml @@ -37,3 +37,7 @@ process: destination: plugin: config config_name: user.mail +dependencies: + module: + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_entity_display.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_entity_display.yml similarity index 85% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_entity_display.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_entity_display.yml index f38bc36068b7..dd6be798938b 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_entity_display.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_entity_display.yml @@ -28,3 +28,9 @@ destination: migration_dependencies: required: - d6_user_picture_field_instance +dependencies: + config: + - migrate.migration.d6_user_picture_field_instance + module: + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_entity_form_display.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_entity_form_display.yml similarity index 85% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_entity_form_display.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_entity_form_display.yml index 4e422287e5bc..9d2182b992b4 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_entity_form_display.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_entity_form_display.yml @@ -27,3 +27,9 @@ destination: migration_dependencies: required: - d6_user_picture_field_instance +dependencies: + config: + - migrate.migration.d6_user_picture_field_instance + module: + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_field.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_field.yml similarity index 76% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_field.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_field.yml index fde05acf6835..eefb62d92692 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_field.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_field.yml @@ -5,7 +5,7 @@ migration_tags: source: # We do an empty source and a proper destination to have an idmap for # dependencies. - plugin: empty + plugin: md_empty constants: entity_type: user type: image @@ -17,4 +17,10 @@ process: type: 'constants/type' cardinality: 'constants/cardinality' destination: - plugin: entity:field_storage_config + plugin: md_entity:field_storage_config +dependencies: + module: + - field + - image + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_field_instance.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_field_instance.yml similarity index 86% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_field_instance.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_field_instance.yml index 7dc83b19b68d..14dfc0e9173d 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_field_instance.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_field_instance.yml @@ -28,3 +28,10 @@ destination: migration_dependencies: required: - d6_user_picture_field +dependencies: + config: + - migrate.migration.d6_user_picture_field + module: + - field + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_file.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_file.yml similarity index 96% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_file.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_file.yml index 363df9d615e2..9be01218c992 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_picture_file.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_picture_file.yml @@ -27,3 +27,4 @@ migration_dependencies: dependencies: module: - file + - migrate_drupal diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_entity_display.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_entity_display.yml similarity index 94% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_entity_display.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_entity_display.yml index 3e7b46778890..7da0e7ad529f 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_entity_display.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_entity_display.yml @@ -38,3 +38,7 @@ process: 4: true # PROFILE_HIDDEN destination: plugin: component_entity_display +dependencies: + module: + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_entity_form_display.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_entity_form_display.yml similarity index 95% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_entity_form_display.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_entity_form_display.yml index d1cde0b65a31..18fab1bbec47 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_entity_form_display.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_entity_form_display.yml @@ -47,3 +47,7 @@ process: 4: true # PROFILE_HIDDEN destination: plugin: component_entity_form_display +dependencies: + module: + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_field.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_field.yml similarity index 86% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_field.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_field.yml index 2a202773c849..1f84573d7579 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_field.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_field.yml @@ -31,4 +31,9 @@ process: map: list: -1 destination: - plugin: entity:field_storage_config + plugin: md_entity:field_storage_config +dependencies: + module: + - field + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_field_instance.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_field_instance.yml similarity index 79% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_field_instance.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_field_instance.yml index ec0e526677a0..30c593849804 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_profile_field_instance.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_profile_field_instance.yml @@ -19,3 +19,10 @@ destination: migration_dependencies: required: - d6_user_profile_field +dependencies: + config: + - migrate.migration.d6_user_profile_field + module: + - field + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_role.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_role.yml similarity index 92% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_role.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_role.yml index e15058bb6d5e..46edcc807dd9 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_role.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_role.yml @@ -44,3 +44,9 @@ destination: migration_dependencies: required: - d6_filter_format +dependencies: + config: + - migrate.migration.d6_filter_format + module: + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_settings.yml similarity index 92% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_user_settings.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_settings.yml index 5984d51af324..09e2eb7780ea 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_settings.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_user_settings.yml @@ -26,3 +26,7 @@ process: destination: plugin: config config_name: user.settings +dependencies: + module: + - migrate_drupal + - user diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_view_modes.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_view_modes.yml similarity index 92% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_view_modes.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_view_modes.yml index 7e3001b3c70a..f8bf6fd23076 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_view_modes.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_view_modes.yml @@ -38,3 +38,7 @@ process: destination: plugin: entity:entity_view_mode +dependencies: + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_entity_display.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_entity_display.yml similarity index 84% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_entity_display.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_entity_display.yml index 9295acd92996..5c0c9c20016a 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_entity_display.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_entity_display.yml @@ -26,3 +26,9 @@ destination: migration_dependencies: required: - d6_vocabulary_field_instance +dependencies: + config: + - migrate.migration.d6_vocabulary_field_instance + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_entity_form_display.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_entity_form_display.yml similarity index 84% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_entity_form_display.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_entity_form_display.yml index 3dbc95ba3679..91b540a79a56 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_entity_form_display.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_entity_form_display.yml @@ -24,3 +24,9 @@ destination: migration_dependencies: required: - d6_vocabulary_field_instance +dependencies: + config: + - migrate.migration.d6_vocabulary_field_instance + module: + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_field.yml similarity index 75% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_field.yml index f2c28a3953de..e11864f6a1f2 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_field.yml @@ -19,7 +19,15 @@ process: 'settings/target_type': 'constants/target_entity_type' cardinality: 'constants/cardinality' destination: - plugin: entity:field_storage_config + plugin: md_entity:field_storage_config migration_dependencies: required: - d6_taxonomy_vocabulary +dependencies: + config: + - migrate.migration.d6_taxonomy_vocabulary + module: + - entity_reference + - field + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field_instance.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_field_instance.yml similarity index 85% rename from core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field_instance.yml rename to core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_field_instance.yml index 3d7ff35b106a..166155fe0b03 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field_instance.yml +++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d6_vocabulary_field_instance.yml @@ -23,3 +23,10 @@ destination: migration_dependencies: required: - d6_vocabulary_field +dependencies: + config: + - migrate.migration.d6_vocabulary_field + module: + - field + - migrate_drupal + - node diff --git a/core/modules/migrate_drupal/config/schema/migrate_drupal.source.schema.yml b/core/modules/migrate_drupal/config/schema/migrate_drupal.source.schema.yml index 56ba96010606..2f23e0cbdb4f 100644 --- a/core/modules/migrate_drupal/config/schema/migrate_drupal.source.schema.yml +++ b/core/modules/migrate_drupal/config/schema/migrate_drupal.source.schema.yml @@ -369,3 +369,7 @@ migrate_entity_constant: auto_create: type: boolean label: 'Entity reference selection setting: Auto-create new entities' + +migrate.source.md_empty: + type: migrate.source.empty + label: 'Empty source for migrate_drupal migrations' diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/destination/EntityFieldStorageConfig.php b/core/modules/migrate_drupal/src/Plugin/migrate/destination/EntityFieldStorageConfig.php new file mode 100644 index 000000000000..c9b83db19d33 --- /dev/null +++ b/core/modules/migrate_drupal/src/Plugin/migrate/destination/EntityFieldStorageConfig.php @@ -0,0 +1,93 @@ +<?php + +/** + * @file + * Contains \Drupal\migrate_drupal\Plugin\migrate\destination\EntityFieldEntity. + */ + +namespace Drupal\migrate_drupal\Plugin\migrate\destination; + +use Drupal\Core\Entity\EntityStorageInterface; +use Drupal\Core\Field\FieldTypePluginManagerInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; +use Drupal\migrate_drupal\Entity\MigrationInterface; +use Drupal\migrate\Plugin\migrate\destination\EntityFieldStorageConfig as BaseEntityFieldStorageConfig; + +/** + * Destination with Drupal specific config dependencies. + * + * @MigrateDestination( + * id = "md_entity:field_storage_config" + * ) + */ +class EntityFieldStorageConfig extends BaseEntityFieldStorageConfig { + + /** + * The field type plugin manager. + * + * @var \Drupal\Core\Field\FieldTypePluginManagerInterface + */ + protected $fieldTypePluginManager; + + /** + * Construct a new plugin. + * + * @param array $configuration + * A configuration array containing information about the plugin instance. + * @param string $plugin_id + * The plugin_id for the plugin instance. + * @param mixed $plugin_definition + * The plugin implementation definition. + * @param MigrationInterface $migration + * The migration. + * @param EntityStorageInterface $storage + * The storage for this entity type. + * @param array $bundles + * The list of bundles this entity type has. + * @param \Drupal\Core\Field\FieldTypePluginManagerInterface $field_type_plugin_manager + * The field type plugin manager. + */ + public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EntityStorageInterface $storage, array $bundles, FieldTypePluginManagerInterface $field_type_plugin_manager) { + parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $storage, $bundles); + $this->fieldTypePluginManager = $field_type_plugin_manager; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) { + $entity_type_id = static::getEntityTypeId($plugin_id); + return new static( + $configuration, + $plugin_id, + $plugin_definition, + $migration, + $container->get('entity.manager')->getStorage($entity_type_id), + array_keys($container->get('entity.manager')->getBundleInfo($entity_type_id)), + $container->get('plugin.manager.field.field_type') + ); + } + + /** + * {@inheritdoc} + */ + public function calculateDependencies() { + $this->dependencies = parent::calculateDependencies(); + // Add a dependency on the module that provides the field type using the + // source plugin configuration. + $source_configuration = $this->migration->get('source'); + if (isset($source_configuration['constants']['type'])) { + $field_type = $this->fieldTypePluginManager->getDefinition($source_configuration['constants']['type']); + $this->addDependency('module', $field_type['provider']); + } + return $this->dependencies; + } + + /** + * {@inheritdoc} + */ + protected static function getEntityTypeId($plugin_id) { + return 'field_storage_config'; + } + +} diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/source/DrupalSqlBase.php b/core/modules/migrate_drupal/src/Plugin/migrate/source/DrupalSqlBase.php index 044dc61594ee..85020fee9e30 100644 --- a/core/modules/migrate_drupal/src/Plugin/migrate/source/DrupalSqlBase.php +++ b/core/modules/migrate_drupal/src/Plugin/migrate/source/DrupalSqlBase.php @@ -7,7 +7,10 @@ namespace Drupal\migrate_drupal\Plugin\migrate\source; +use Drupal\Component\Plugin\DependentPluginInterface; use Drupal\Component\Utility\SafeMarkup; +use Drupal\Core\Entity\DependencyTrait; +use Drupal\Core\Entity\EntityManagerInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\migrate\Entity\MigrationInterface; use Drupal\migrate\Exception\RequirementsException; @@ -21,7 +24,9 @@ * Mainly to let children retrieve information from the origin system in an * easier way. */ -abstract class DrupalSqlBase extends SqlBase implements ContainerFactoryPluginInterface, RequirementsInterface { +abstract class DrupalSqlBase extends SqlBase implements ContainerFactoryPluginInterface, RequirementsInterface, DependentPluginInterface { + + use DependencyTrait; /** * The contents of the system table. @@ -37,6 +42,21 @@ abstract class DrupalSqlBase extends SqlBase implements ContainerFactoryPluginIn */ protected $requirements = TRUE; + /** + * The entity manager. + * + * @var \Drupal\Core\Entity\EntityManagerInterface + */ + protected $entityManager; + + /** + * {@inheritdoc} + */ + public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EntityManagerInterface $entity_manager) { + parent::__construct($configuration, $plugin_id, $plugin_definition, $migration); + $this->entityManager = $entity_manager; + } + /** * Retrieves all system data information from origin system. * @@ -69,7 +89,8 @@ public static function create(ContainerInterface $container, array $configuratio $configuration, $plugin_id, $plugin_definition, - $migration + $migration, + $container->get('entity.manager') ); } @@ -144,4 +165,18 @@ protected function variableGet($name, $default) { return $result !== FALSE ? unserialize($result) : $default; } + /** + * {@inheritdoc} + */ + public function calculateDependencies() { + // Generic handling for Drupal source plugin constants. + if (isset($this->configuration['constants']['entity_type'])) { + $this->addDependency('module', $this->entityManager->getDefinition($this->configuration['constants']['entity_type'])->getProvider()); + } + if (isset($this->configuration['constants']['module'])) { + $this->addDependency('module', $this->configuration['constants']['module']); + } + return $this->dependencies; + } + } diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/source/EmptySource.php b/core/modules/migrate_drupal/src/Plugin/migrate/source/EmptySource.php new file mode 100644 index 000000000000..47e7c8240a9a --- /dev/null +++ b/core/modules/migrate_drupal/src/Plugin/migrate/source/EmptySource.php @@ -0,0 +1,69 @@ +<?php + +/** + * @file + * Contains \Drupal\migrate_drupal\Plugin\migrate\source\EmptySource. + */ + +namespace Drupal\migrate_drupal\Plugin\migrate\source; + +use Drupal\Component\Plugin\DependentPluginInterface; +use Drupal\Core\Entity\DependencyTrait; +use Symfony\Component\DependencyInjection\ContainerInterface; +use Drupal\migrate_drupal\Entity\MigrationInterface; +use Drupal\migrate\Plugin\migrate\source\EmptySource as BaseEmptySource; +use Drupal\Core\Entity\EntityManagerInterface; +use Drupal\Core\Plugin\ContainerFactoryPluginInterface; + + +/** + * Source returning an empty row with Drupal specific config dependencies. + * + * @MigrateSource( + * id = "md_empty" + * ) + */ +class EmptySource extends BaseEmptySource implements ContainerFactoryPluginInterface, DependentPluginInterface { + + use DependencyTrait; + + /** + * The entity manager. + * + * @var \Drupal\Core\Entity\EntityManagerInterface + */ + protected $entityManager; + + /** + * {@inheritdoc} + */ + public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EntityManagerInterface $entity_manager) { + parent::__construct($configuration, $plugin_id, $plugin_definition, $migration); + $this->entityManager = $entity_manager; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) { + return new static( + $configuration, + $plugin_id, + $plugin_definition, + $migration, + $container->get('entity.manager') + ); + } + + /** + * {@inheritdoc} + */ + public function calculateDependencies() { + // The empty source plugin supports the entity_type constant. + if (isset($this->configuration['constants']['entity_type'])) { + $this->addDependency('module', $this->entityManager->getDefinition($this->configuration['constants']['entity_type'])->getProvider()); + } + return $this->dependencies; + } + +} diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/source/Variable.php b/core/modules/migrate_drupal/src/Plugin/migrate/source/Variable.php index 32819eb2219c..bdaf98164ba9 100644 --- a/core/modules/migrate_drupal/src/Plugin/migrate/source/Variable.php +++ b/core/modules/migrate_drupal/src/Plugin/migrate/source/Variable.php @@ -7,6 +7,7 @@ namespace Drupal\migrate_drupal\Plugin\migrate\source; +use Drupal\Core\Entity\EntityManagerInterface; use Drupal\migrate\Entity\MigrationInterface; /** @@ -31,8 +32,8 @@ class Variable extends DrupalSqlBase { /** * {@inheritdoc} */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration) { - parent::__construct($configuration, $plugin_id, $plugin_definition, $migration); + public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EntityManagerInterface $entity_manager) { + parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $entity_manager); $this->variables = $this->configuration['variables']; } diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/ViewMode.php b/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/ViewMode.php index a84a16a15b1e..ea1c505f092c 100644 --- a/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/ViewMode.php +++ b/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/ViewMode.php @@ -7,6 +7,11 @@ namespace Drupal\migrate_drupal\Plugin\migrate\source\d6; +use Drupal\Core\Entity\EntityManagerInterface; +use Drupal\Core\Plugin\ContainerFactoryPluginInterface; +use Drupal\migrate\Entity\MigrationInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; + /** * The view mode source. * @@ -67,4 +72,15 @@ public function getIds() { return $ids; } + /** + * {@inheritdoc} + */ + public function calculateDependencies() { + $this->dependencies = parent::calculateDependencies(); + if (isset($this->configuration['constants']['targetEntityType'])) { + $this->addDependency('module', $this->entityManager->getDefinition($this->configuration['constants']['targetEntityType'])->getProvider()); + } + return $this->dependencies; + } + } diff --git a/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php b/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php index 09dd3cd16589..6b01174b35ee 100644 --- a/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php +++ b/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php @@ -7,6 +7,10 @@ namespace Drupal\migrate_drupal\Tests; +use Drupal\Component\Utility\SafeMarkup; +use Drupal\Core\Config\ExtensionInstallStorage; +use Drupal\Core\Config\InstallStorage; +use Drupal\Core\Config\StorageInterface; use Drupal\migrate\MigrateExecutable; use Drupal\simpletest\TestBase; @@ -54,6 +58,7 @@ public function testDrupal() { $this->loadDumps($dumps); $classes = $this->getTestClassesList(); + $extension_install_storage = new ExtensionInstallStorage(\Drupal::service('config.storage'), InstallStorage::CONFIG_OPTIONAL_DIRECTORY, StorageInterface::DEFAULT_COLLECTION, TRUE); foreach ($classes as $class) { if (is_subclass_of($class, '\Drupal\migrate\Tests\MigrateDumpAlterInterface')) { $class::migrateDumpAlter($this); @@ -63,6 +68,16 @@ public function testDrupal() { // Run every migration in the order specified by the storage controller. foreach (entity_load_multiple('migration', static::$migrations) as $migration) { (new MigrateExecutable($migration, $this))->import(); + + // Ensure that the default migration has the correct dependencies. + list($base_name, ) = explode(':', $migration->id(), 2); + $default_configuration = $extension_install_storage->read('migrate.migration.' . $base_name); + $default_dependencies = isset($default_configuration['dependencies']) ? $default_configuration['dependencies'] : []; + $this->assertEqual($default_dependencies, $migration->getDependencies(), SafeMarkup::format('Dependencies in @id match after installing. Default configuration @first is equal to active configuration @second.', array( + '@id' => $migration->id(), + '@first' => var_export($default_dependencies, TRUE), + '@second' => var_export($migration->getDependencies(), TRUE) + ))); } foreach ($classes as $class) { $test_object = new $class($this->testId); diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplaySubjectTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplaySubjectTest.php index 668ae25d55f4..f38201592082 100644 --- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplaySubjectTest.php +++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplaySubjectTest.php @@ -22,7 +22,7 @@ class MigrateCommentVariableEntityFormDisplaySubjectTest extends MigrateDrupal6T * * @var array */ - static $modules = array('comment'); + public static $modules = array('comment', 'node'); /** * {@inheritdoc} diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php index 8a9324099883..697ab2c341f0 100644 --- a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php +++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php @@ -33,6 +33,7 @@ class MigrateDrupal6Test extends MigrateFullDrupalTestBase { 'datetime', 'dblog', 'entity_reference', + 'field', 'file', 'filter', 'forum', diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserContactSettingsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserContactSettingsTest.php index d03d8fa12678..a4a0a18fe4fd 100644 --- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserContactSettingsTest.php +++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserContactSettingsTest.php @@ -18,6 +18,11 @@ */ class MigrateUserContactSettingsTest extends MigrateDrupal6TestBase { + /** + * {@inheritdoc} + */ + public static $modules = ['contact']; + /** * {@inheritdoc} */ diff --git a/core/modules/migrate_drupal/src/Tests/dependencies/MigrateDependenciesTest.php b/core/modules/migrate_drupal/src/Tests/dependencies/MigrateDependenciesTest.php index a3d24e2a9925..f75a7017504c 100644 --- a/core/modules/migrate_drupal/src/Tests/dependencies/MigrateDependenciesTest.php +++ b/core/modules/migrate_drupal/src/Tests/dependencies/MigrateDependenciesTest.php @@ -20,7 +20,7 @@ */ class MigrateDependenciesTest extends MigrateDrupal6TestBase { - static $modules = array('aggregator'); + static $modules = array('aggregator', 'node', 'comment', 'filter'); /** * Tests that the order is correct when loading several migrations. diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/Drupal6SqlBaseTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/Drupal6SqlBaseTest.php index 707d2efda915..2e1ea51fbf23 100644 --- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/Drupal6SqlBaseTest.php +++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/Drupal6SqlBaseTest.php @@ -68,7 +68,8 @@ class Drupal6SqlBaseTest extends MigrateTestCase { */ protected function setUp() { $plugin = 'placeholder_id'; - $this->base = new TestDrupal6SqlBase($this->migrationConfiguration, $plugin, array(), $this->getMigration()); + $entity_manager = $this->getmock('Drupal\Core\Entity\EntityManagerInterface'); + $this->base = new TestDrupal6SqlBase($this->migrationConfiguration, $plugin, array(), $this->getMigration(), $entity_manager); $this->base->setDatabase($this->getDatabase($this->databaseContents)); } -- GitLab