diff --git a/core/composer.json b/core/composer.json index 60cc53c2df1cf9d05edab1c151ed7fb0510ee660..b88441f684b8fde84b6234c7b31899068753b9d9 100644 --- a/core/composer.json +++ b/core/composer.json @@ -138,6 +138,7 @@ "drupal/menu_ui": "self.version", "drupal/migrate": "self.version", "drupal/migrate_drupal": "self.version", + "drupal/migrate_drupal_multilingual": "self.version", "drupal/migrate_drupal_ui": "self.version", "drupal/node": "self.version", "drupal/options": "self.version", diff --git a/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockContentTranslationTest.php b/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockContentTranslationTest.php index e9f1e87ef4978cfc4b4b270435137c8fd0f48f48..4078782143baec2b27852c774878b6e358e3c8ec 100644 --- a/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockContentTranslationTest.php +++ b/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockContentTranslationTest.php @@ -26,6 +26,8 @@ class MigrateBlockContentTranslationTest extends MigrateDrupal6TestBase { 'language', 'statistics', 'taxonomy', + // Required for translation migrations. + 'migrate_drupal_multilingual', ]; /** diff --git a/core/modules/block_content/tests/src/Kernel/Migrate/d6/MigrateCustomBlockContentTranslationTest.php b/core/modules/block_content/tests/src/Kernel/Migrate/d6/MigrateCustomBlockContentTranslationTest.php index 5ff40526a6189933d46f56209ef7903a301f1f05..2847e35d5e17dc0c6165cb3fa8708b15b6eecf6e 100644 --- a/core/modules/block_content/tests/src/Kernel/Migrate/d6/MigrateCustomBlockContentTranslationTest.php +++ b/core/modules/block_content/tests/src/Kernel/Migrate/d6/MigrateCustomBlockContentTranslationTest.php @@ -19,6 +19,8 @@ class MigrateCustomBlockContentTranslationTest extends MigrateDrupal6TestBase { 'block_content', 'content_translation', 'language', + // Required for translation migrations. + 'migrate_drupal_multilingual', ]; /** diff --git a/core/modules/config_translation/migrations/d6_system_maintenance_translation.yml b/core/modules/config_translation/migrations/d6_system_maintenance_translation.yml index b370914f796d65b5fff5eb8be3256afb7f1d054b..5a3593c27e8d835a117fe5b966129f5ac15fecc7 100644 --- a/core/modules/config_translation/migrations/d6_system_maintenance_translation.yml +++ b/core/modules/config_translation/migrations/d6_system_maintenance_translation.yml @@ -3,6 +3,7 @@ label: Maintenance page configuration migration_tags: - Drupal 6 - Configuration + - Multilingual source: plugin: variable_translation variables: diff --git a/core/modules/config_translation/migrations/d6_system_site_translation.yml b/core/modules/config_translation/migrations/d6_system_site_translation.yml index 066038338aba785879ce9f58b7c4a2828c333bbe..a246aa97d3bdcf3e4fe4d0a70d13a09cde6d3022 100644 --- a/core/modules/config_translation/migrations/d6_system_site_translation.yml +++ b/core/modules/config_translation/migrations/d6_system_site_translation.yml @@ -3,6 +3,7 @@ label: Site configuration migration_tags: - Drupal 6 - Configuration + - Multilingual source: plugin: variable_translation constants: diff --git a/core/modules/taxonomy/migrations/d6_taxonomy_vocabulary_translation.yml b/core/modules/config_translation/migrations/d6_taxonomy_vocabulary_translation.yml similarity index 90% rename from core/modules/taxonomy/migrations/d6_taxonomy_vocabulary_translation.yml rename to core/modules/config_translation/migrations/d6_taxonomy_vocabulary_translation.yml index 2ac7760ebaae4f06158900f790fb38655c9a6c2e..1fcba3e34d11cb97fe638f1a615603db581f6f2d 100644 --- a/core/modules/taxonomy/migrations/d6_taxonomy_vocabulary_translation.yml +++ b/core/modules/config_translation/migrations/d6_taxonomy_vocabulary_translation.yml @@ -3,6 +3,7 @@ label: Taxonomy vocabularies migration_tags: - Drupal 6 - Configuration + - Multilingual source: plugin: d6_taxonomy_vocabulary_translation process: @@ -23,6 +24,7 @@ process: translation: translation destination: plugin: entity:taxonomy_vocabulary + destination_module: config_translation migration_dependencies: required: - d6_taxonomy_vocabulary diff --git a/core/modules/config_translation/migrations/d6_user_mail_translation.yml b/core/modules/config_translation/migrations/d6_user_mail_translation.yml index 801f5678d1a21ccb6418bf2732b945998b3fe7d3..2fb3429e6f6323100831db74b31dde3ed03eff81 100644 --- a/core/modules/config_translation/migrations/d6_user_mail_translation.yml +++ b/core/modules/config_translation/migrations/d6_user_mail_translation.yml @@ -3,6 +3,7 @@ label: User mail configuration migration_tags: - Drupal 6 - Configuration + - Multilingual source: plugin: variable_translation variables: diff --git a/core/modules/config_translation/migrations/d6_user_profile_field_instance_translation.yml b/core/modules/config_translation/migrations/d6_user_profile_field_instance_translation.yml index 0f728f665829e0b9b5ea85083177f594fa3b6d38..b8a88f43f6daef35916da42bc5144f35f32af18e 100644 --- a/core/modules/config_translation/migrations/d6_user_profile_field_instance_translation.yml +++ b/core/modules/config_translation/migrations/d6_user_profile_field_instance_translation.yml @@ -3,6 +3,7 @@ label: User profile field instance configuration migration_tags: - Drupal 6 - Configuration + - Multilingual source: plugin: d6_profile_field_translation constants: diff --git a/core/modules/config_translation/migrations/d6_user_settings_translation.yml b/core/modules/config_translation/migrations/d6_user_settings_translation.yml index 05ecb15939d58e664a3844f913da4374e4f872d8..f947ff92766acaeeeb42445de61e5c8f7ee56ae3 100644 --- a/core/modules/config_translation/migrations/d6_user_settings_translation.yml +++ b/core/modules/config_translation/migrations/d6_user_settings_translation.yml @@ -3,6 +3,7 @@ label: User configuration migration_tags: - Drupal 6 - Configuration + - Multilingual source: plugin: variable_translation variables: diff --git a/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateSystemMaintenanceTranslationTest.php b/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateSystemMaintenanceTranslationTest.php index 37cd4a9ec2846a28a0d267c5e6c494c3c343811e..26d68eed99f55d2a531ab16d0cc0f3aa8c2fbb24 100644 --- a/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateSystemMaintenanceTranslationTest.php +++ b/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateSystemMaintenanceTranslationTest.php @@ -12,7 +12,12 @@ */ class MigrateSystemMaintenanceTranslationTest extends MigrateDrupal6TestBase { - public static $modules = ['language', 'config_translation']; + public static $modules = [ + 'language', + 'config_translation', + // Required for translation migrations. + 'migrate_drupal_multilingual', + ]; /** * {@inheritdoc} diff --git a/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateSystemSiteTranslationTest.php b/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateSystemSiteTranslationTest.php index 326e1bb7e479038e65f5e7c6bb69430dc70ae390..e4209432645220a2a91b1bbcf91e0c53060472ca 100644 --- a/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateSystemSiteTranslationTest.php +++ b/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateSystemSiteTranslationTest.php @@ -12,7 +12,12 @@ */ class MigrateSystemSiteTranslationTest extends MigrateDrupal6TestBase { - public static $modules = ['language', 'config_translation']; + public static $modules = [ + 'language', + 'config_translation', + // Required for translation migrations. + 'migrate_drupal_multilingual', + ]; /** * {@inheritdoc} diff --git a/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateUserConfigsTranslationTest.php b/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateUserConfigsTranslationTest.php index bc622e1b6a7d3881ed169321476e70066f61ef54..5ff8402deb51fdf2f977f8e4ea73d6059275baba 100644 --- a/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateUserConfigsTranslationTest.php +++ b/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateUserConfigsTranslationTest.php @@ -15,7 +15,13 @@ class MigrateUserConfigsTranslationTest extends MigrateDrupal6TestBase { use SchemaCheckTestTrait; - public static $modules = ['language', 'locale', 'config_translation']; + public static $modules = [ + 'language', + 'locale', + 'config_translation', + // Required for translation migrations. + 'migrate_drupal_multilingual', + ]; /** * {@inheritdoc} diff --git a/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateUserProfileFieldInstanceTranslationTest.php b/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateUserProfileFieldInstanceTranslationTest.php index c941e41282a617c035f2a486884c5bb7b42d823c..033f22b9e8e4bc44c3e22bf8e14f11f7e2ca5ba9 100644 --- a/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateUserProfileFieldInstanceTranslationTest.php +++ b/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateUserProfileFieldInstanceTranslationTest.php @@ -15,7 +15,14 @@ class MigrateUserProfileFieldInstanceTranslationTest extends MigrateDrupal6TestB /** * {@inheritdoc} */ - public static $modules = ['config_translation', 'locale', 'language', 'field']; + public static $modules = [ + 'config_translation', + 'locale', + 'language', + 'field', + // Required for translation migrations. + 'migrate_drupal_multilingual', + ]; /** * Tests migration of translated user profile fields. diff --git a/core/modules/content_translation/migrations/d6_block_translation.yml b/core/modules/content_translation/migrations/d6_block_translation.yml index 3f8810cbfa18cd4c831c1a239b009b146db79628..a27fcfd9e5154e52bd3a2a071bfcd3ca25d7a56f 100644 --- a/core/modules/content_translation/migrations/d6_block_translation.yml +++ b/core/modules/content_translation/migrations/d6_block_translation.yml @@ -3,6 +3,7 @@ label: Block translations migration_tags: - Drupal 6 - Configuration + - Multilingual source: plugin: d6_block_translation constants: diff --git a/core/modules/content_translation/migrations/d6_custom_block_translation.yml b/core/modules/content_translation/migrations/d6_custom_block_translation.yml index 7a6d3685b834537cc3407380c4b6e40ca7aa7e00..a240667b9435c7701ed9c3555010e14a54204e2a 100644 --- a/core/modules/content_translation/migrations/d6_custom_block_translation.yml +++ b/core/modules/content_translation/migrations/d6_custom_block_translation.yml @@ -3,6 +3,7 @@ label: Custom block translations migration_tags: - Drupal 6 - Content + - Multilingual source: plugin: d6_box_translation process: diff --git a/core/modules/migrate_drupal/migrations/d6_entity_reference_translation.yml b/core/modules/content_translation/migrations/d6_entity_reference_translation.yml similarity index 97% rename from core/modules/migrate_drupal/migrations/d6_entity_reference_translation.yml rename to core/modules/content_translation/migrations/d6_entity_reference_translation.yml index 31888207392fcd80a9f28d044b128b5a5c95d114..74a586b82349794e0590bb7494951bc757505e14 100644 --- a/core/modules/migrate_drupal/migrations/d6_entity_reference_translation.yml +++ b/core/modules/content_translation/migrations/d6_entity_reference_translation.yml @@ -2,6 +2,7 @@ id: d6_entity_reference_translation label: Entity reference translations migration_tags: - Drupal 6 + - Multilingual - Follow-up migration deriver: Drupal\migrate_drupal\Plugin\migrate\EntityReferenceTranslationDeriver # Supported target types for entity reference translation migrations. The array diff --git a/core/modules/content_translation/migrations/d6_menu_links_translation.yml b/core/modules/content_translation/migrations/d6_menu_links_translation.yml index 71e55992e8afe69dc4b309fe43443eefc933637b..34e4290235e7ebe5ad53cba5de0e30cb84a5779d 100644 --- a/core/modules/content_translation/migrations/d6_menu_links_translation.yml +++ b/core/modules/content_translation/migrations/d6_menu_links_translation.yml @@ -3,6 +3,7 @@ label: Menu links migration_tags: - Drupal 6 - Content + - Multilingual source: plugin: d6_menu_link_translation process: diff --git a/core/modules/node/migrations/d6_node_translation.yml b/core/modules/content_translation/migrations/d6_node_translation.yml similarity index 98% rename from core/modules/node/migrations/d6_node_translation.yml rename to core/modules/content_translation/migrations/d6_node_translation.yml index b1345ed065f092e7334dc7ccae0886f1996170be..38e6870162e4a153362b5de867a243381f5dfc26 100644 --- a/core/modules/node/migrations/d6_node_translation.yml +++ b/core/modules/content_translation/migrations/d6_node_translation.yml @@ -4,6 +4,7 @@ migration_tags: - Drupal 6 - translation - Content + - Multilingual class: Drupal\node\Plugin\migrate\D6NodeTranslation deriver: Drupal\node\Plugin\migrate\D6NodeDeriver source: diff --git a/core/modules/content_translation/migrations/d6_taxonomy_term_translation.yml b/core/modules/content_translation/migrations/d6_taxonomy_term_translation.yml index 0b42dcfdb988a5cc6c52c68b2598d4a82adecc57..96ccd8d569d9dd90096bfab0d5213298c46786cd 100644 --- a/core/modules/content_translation/migrations/d6_taxonomy_term_translation.yml +++ b/core/modules/content_translation/migrations/d6_taxonomy_term_translation.yml @@ -3,6 +3,7 @@ label: Taxonomy terms migration_tags: - Drupal 6 - Content + - Multilingual source: plugin: d6_taxonomy_term translations: true @@ -34,6 +35,7 @@ process: changed: timestamp destination: plugin: entity:taxonomy_term + destination_module: content_translation migration_dependencies: required: - d6_taxonomy_vocabulary diff --git a/core/modules/migrate_drupal/migrations/d7_entity_reference_translation.yml b/core/modules/content_translation/migrations/d7_entity_reference_translation.yml similarity index 97% rename from core/modules/migrate_drupal/migrations/d7_entity_reference_translation.yml rename to core/modules/content_translation/migrations/d7_entity_reference_translation.yml index 7e59a9a0c75b7ea951394b92e75af55fa48e88c2..af5bef9490fffd419680004838a9f034a46722b9 100644 --- a/core/modules/migrate_drupal/migrations/d7_entity_reference_translation.yml +++ b/core/modules/content_translation/migrations/d7_entity_reference_translation.yml @@ -2,6 +2,7 @@ id: d7_entity_reference_translation label: Entity reference translations migration_tags: - Drupal 7 + - Multilingual - Follow-up migration deriver: Drupal\migrate_drupal\Plugin\migrate\EntityReferenceTranslationDeriver # Supported target types for entity reference translation migrations. The array diff --git a/core/modules/content_translation/migrations/d7_entity_translation_settings.yml b/core/modules/content_translation/migrations/d7_entity_translation_settings.yml index 1a8e526c3ca32313e95501f6c194b7f8c565ae10..bd82446339d2c909ac2b60e7c420e2e1b684fa01 100644 --- a/core/modules/content_translation/migrations/d7_entity_translation_settings.yml +++ b/core/modules/content_translation/migrations/d7_entity_translation_settings.yml @@ -3,6 +3,7 @@ label: Drupal 7 Entity Translation settings migration_tags: - Drupal 7 - Configuration + - Multilingual source: plugin: d7_entity_translation_settings process: diff --git a/core/modules/node/migrations/d7_node_translation.yml b/core/modules/content_translation/migrations/d7_node_translation.yml similarity index 98% rename from core/modules/node/migrations/d7_node_translation.yml rename to core/modules/content_translation/migrations/d7_node_translation.yml index b5d488e268722c37ad73eff8fd899baef131f1cf..90a101fec13d0952fd3ef37c5273cafbce3489ed 100644 --- a/core/modules/node/migrations/d7_node_translation.yml +++ b/core/modules/content_translation/migrations/d7_node_translation.yml @@ -4,6 +4,7 @@ migration_tags: - Drupal 7 - translation - Content + - Multilingual class: Drupal\node\Plugin\migrate\D7NodeTranslation deriver: Drupal\node\Plugin\migrate\D7NodeDeriver source: diff --git a/core/modules/menu_link_content/migrations/node_translation_menu_links.yml b/core/modules/content_translation/migrations/node_translation_menu_links.yml similarity index 99% rename from core/modules/menu_link_content/migrations/node_translation_menu_links.yml rename to core/modules/content_translation/migrations/node_translation_menu_links.yml index 4028c7a3f62ef696ce68eea324aedcd9134c4963..837a99b47a8a52102dd7c609443cd77dd637ba98 100644 --- a/core/modules/menu_link_content/migrations/node_translation_menu_links.yml +++ b/core/modules/content_translation/migrations/node_translation_menu_links.yml @@ -5,6 +5,7 @@ migration_tags: - Drupal 6 - Drupal 7 - Content + - Multilingual source: plugin: menu_link constants: diff --git a/core/modules/statistics/migrations/statistics_node_translation_counter.yml b/core/modules/content_translation/migrations/statistics_node_translation_counter.yml similarity index 97% rename from core/modules/statistics/migrations/statistics_node_translation_counter.yml rename to core/modules/content_translation/migrations/statistics_node_translation_counter.yml index bf8cde4092016a757f4eaa39bcc9a71c795f756b..0c11cd211445bbbc628e1417a58cc49d27a6bab0 100644 --- a/core/modules/statistics/migrations/statistics_node_translation_counter.yml +++ b/core/modules/content_translation/migrations/statistics_node_translation_counter.yml @@ -4,6 +4,7 @@ migration_tags: - Drupal 6 - Drupal 7 - Content + - Multilingual source: plugin: node_counter process: diff --git a/core/modules/content_translation/tests/src/Kernel/Migrate/d6/MigrateTaxonomyTermTranslationTest.php b/core/modules/content_translation/tests/src/Kernel/Migrate/d6/MigrateTaxonomyTermTranslationTest.php index 1674cfa5b70b94e7e75f4001e7501ad2e11dbbdf..3e32406d28db764bb783c90f2236ffe3ee039e88 100644 --- a/core/modules/content_translation/tests/src/Kernel/Migrate/d6/MigrateTaxonomyTermTranslationTest.php +++ b/core/modules/content_translation/tests/src/Kernel/Migrate/d6/MigrateTaxonomyTermTranslationTest.php @@ -20,6 +20,8 @@ class MigrateTaxonomyTermTranslationTest extends MigrateDrupal6TestBase { 'content_translation', 'language', 'menu_ui', + // Required for translation migrations. + 'migrate_drupal_multilingual', 'node', 'taxonomy', ]; diff --git a/core/modules/content_translation/tests/src/Kernel/Migrate/d7/MigrateEntityTranslationSettingsTest.php b/core/modules/content_translation/tests/src/Kernel/Migrate/d7/MigrateEntityTranslationSettingsTest.php index 5fb6ddde60ad76170ce9e228a8c68a8c4489e497..136e5331ecac633dece7830ef568b0253942d3bf 100644 --- a/core/modules/content_translation/tests/src/Kernel/Migrate/d7/MigrateEntityTranslationSettingsTest.php +++ b/core/modules/content_translation/tests/src/Kernel/Migrate/d7/MigrateEntityTranslationSettingsTest.php @@ -20,6 +20,8 @@ class MigrateEntityTranslationSettingsTest extends MigrateDrupal7TestBase { 'content_translation', 'language', 'menu_ui', + // Required for translation migrations. + 'migrate_drupal_multilingual', 'node', 'taxonomy', 'text', diff --git a/core/modules/menu_link_content/tests/src/Kernel/Migrate/d6/MigrateMenuLinkTest.php b/core/modules/menu_link_content/tests/src/Kernel/Migrate/d6/MigrateMenuLinkTest.php index 36e4f30dc0ae4278d99f3eb92e9be12b375e6498..8fab083230ea3d6b243dac680d5c8cda8b287ee8 100644 --- a/core/modules/menu_link_content/tests/src/Kernel/Migrate/d6/MigrateMenuLinkTest.php +++ b/core/modules/menu_link_content/tests/src/Kernel/Migrate/d6/MigrateMenuLinkTest.php @@ -20,6 +20,8 @@ class MigrateMenuLinkTest extends MigrateNodeTestBase { 'content_translation', 'language', 'menu_link_content', + // Required for translation migrations. + 'migrate_drupal_multilingual', 'menu_ui', ]; diff --git a/core/modules/menu_link_content/tests/src/Kernel/Migrate/d6/MigrateMenuLinkTranslationTest.php b/core/modules/menu_link_content/tests/src/Kernel/Migrate/d6/MigrateMenuLinkTranslationTest.php index 4863dde76fd88ae308c89180b3371fb9a3fef28b..d9b47b0592e32033ba56a0d54b83fb1cf6331cdd 100644 --- a/core/modules/menu_link_content/tests/src/Kernel/Migrate/d6/MigrateMenuLinkTranslationTest.php +++ b/core/modules/menu_link_content/tests/src/Kernel/Migrate/d6/MigrateMenuLinkTranslationTest.php @@ -20,6 +20,8 @@ class MigrateMenuLinkTranslationTest extends MigrateDrupal6TestBase { 'menu_link_content', 'language', 'content_translation', + // Required for translation migrations. + 'migrate_drupal_multilingual', ]; /** diff --git a/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php b/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php index ab21f2c611a9447b9aadb0b342fc4f553d775647..e9913f6fa65d054d5ad16b2229ad88fc930a5bcb 100644 --- a/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php +++ b/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php @@ -24,6 +24,8 @@ class MigrateMenuLinkTest extends MigrateDrupal7TestBase { 'link', 'menu_ui', 'menu_link_content', + // Required for translation migrations. + 'migrate_drupal_multilingual', 'node', 'text', ]; diff --git a/core/modules/migrate_drupal/migrate_drupal.install b/core/modules/migrate_drupal/migrate_drupal.install index ed60201f7e80d414087302967dbcfd0ec349db06..820bcdc87062038bfc6cbdaae33019e76479a821 100644 --- a/core/modules/migrate_drupal/migrate_drupal.install +++ b/core/modules/migrate_drupal/migrate_drupal.install @@ -24,3 +24,10 @@ function migrate_drupal_update_8502() { ->set('follow_up_migration_tags', ['Follow-up migration']) ->save(); } + +/** + * Install migrate_drupal_multilingual since migrate_drupal is installed. + */ +function migrate_drupal_update_8601() { + \Drupal::service('module_installer')->install(['migrate_drupal_multilingual']); +} diff --git a/core/modules/migrate_drupal/src/MigrationConfigurationTrait.php b/core/modules/migrate_drupal/src/MigrationConfigurationTrait.php index 0aca5be2448cdf08a64776b108dd8b4226007a2d..0349d87a7731fbd640ad7187dff89ec55cb13f6e 100644 --- a/core/modules/migrate_drupal/src/MigrationConfigurationTrait.php +++ b/core/modules/migrate_drupal/src/MigrationConfigurationTrait.php @@ -110,6 +110,12 @@ protected function getMigrations($database_state_key, $drupal_version) { if (!empty(array_intersect($migration->getMigrationTags(), $this->getFollowUpMigrationTags()))) { continue; } + // Multilingual migrations require migrate_drupal_multilingual. + $tags = $migration->getMigrationTags() ?: []; + if (in_array('Multilingual', $tags, TRUE) && (!\Drupal::service('module_handler')->moduleExists('migrate_drupal_multilingual'))) { + throw new RequirementsException(sprintf("Install migrate_drupal_multilingual to run migration '%s'.", $migration->getPluginId())); + } + try { // @todo https://drupal.org/node/2681867 We should be able to validate // the entire migration at this point. diff --git a/core/modules/migrate_drupal/tests/src/Kernel/d6/FollowUpMigrationsTest.php b/core/modules/migrate_drupal/tests/src/Kernel/d6/FollowUpMigrationsTest.php index e02254a5e50d27fd7d12471d442202a5b3d15b1b..5225ce5d83148cbcd1256cbed0dbeb2fc235b452 100644 --- a/core/modules/migrate_drupal/tests/src/Kernel/d6/FollowUpMigrationsTest.php +++ b/core/modules/migrate_drupal/tests/src/Kernel/d6/FollowUpMigrationsTest.php @@ -19,6 +19,8 @@ class FollowUpMigrationsTest extends MigrateNodeTestBase { 'content_translation', 'language', 'menu_ui', + // A requirement for d6_node_translation. + 'migrate_drupal_multilingual', ]; /** diff --git a/core/modules/migrate_drupal/tests/src/Kernel/d7/FollowUpMigrationsTest.php b/core/modules/migrate_drupal/tests/src/Kernel/d7/FollowUpMigrationsTest.php index b9b38c2f734cf828a404febcac002fc740b3cb20..5417df47727948d0263db6049e7c7325618056a6 100644 --- a/core/modules/migrate_drupal/tests/src/Kernel/d7/FollowUpMigrationsTest.php +++ b/core/modules/migrate_drupal/tests/src/Kernel/d7/FollowUpMigrationsTest.php @@ -26,6 +26,8 @@ class FollowUpMigrationsTest extends MigrateDrupal7TestBase { 'language', 'link', 'menu_ui', + // A requirement for translation migrations. + 'migrate_drupal_multilingual', 'node', 'taxonomy', 'telephone', diff --git a/core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.info.yml b/core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.info.yml new file mode 100644 index 0000000000000000000000000000000000000000..75a79dc285b9a197d6a2fc2932a3d9bd3854c023 --- /dev/null +++ b/core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.info.yml @@ -0,0 +1,7 @@ +name: 'Migrate Drupal Multilingual' +type: module +description: 'Provides a requirement for multilingual migrations.' +package: 'Core (Experimental)' +core: 8.x +dependencies: + - migrate_drupal diff --git a/core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.module b/core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.module new file mode 100644 index 0000000000000000000000000000000000000000..82ff699f84a56e34f1c33b1a99c95f5f029e0369 --- /dev/null +++ b/core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.module @@ -0,0 +1,21 @@ +<?php + +/** + * @file + * Provides a requirement for multilingual content and configuration migrations. + */ + +use Drupal\Core\Routing\RouteMatchInterface; + +/** + * Implements hook_help(). + */ +function migrate_drupal_multilingual_help($route_name, RouteMatchInterface $route_match) { + switch ($route_name) { + case 'help.page.migrate_drupal_multilingual': + $output = ''; + $output .= '<h3>' . t('About') . '</h3>'; + $output .= '<p>' . t('The Migrate Drupal Multilingual module is a requirement for migrating translations. It does not provide a user interface. For more information, see the <a href=":migrate_drupal_multilingual">online documentation for the Migrate Drupal Multilingual module</a>.', [':migrate_drupal_multilingual' => 'https://www.drupal.org/node/2959712']) . '</p>'; + return $output; + } +} diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6I18nReviewPageTest.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6I18nReviewPageTest.php index b70fe436aae67b3ec1644986761c6e991b8828e5..adc3071e9e0fe8facdba17ac60741e35a2da5483 100644 --- a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6I18nReviewPageTest.php +++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6I18nReviewPageTest.php @@ -59,7 +59,6 @@ protected function getAvailablePaths() { 'filefield', 'filter', 'forum', - 'i18ntaxonomy', 'imagecache', 'imagefield', 'language', @@ -142,6 +141,7 @@ protected function getMissingPaths() { 'i18npoll', 'i18nprofile', 'i18nsync', + 'i18ntaxonomy', 'i18nviews', 'phone', 'views', diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6NoMultilingualTest.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6NoMultilingualTest.php new file mode 100644 index 0000000000000000000000000000000000000000..e07e8bf211f7c1547d4a6c4430abee879f5bb558 --- /dev/null +++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6NoMultilingualTest.php @@ -0,0 +1,211 @@ +<?php + +namespace Drupal\Tests\migrate_drupal_ui\Functional\d6; + +use Drupal\Tests\migrate_drupal_ui\Functional\MigrateUpgradeExecuteTestBase; + +/** + * Tests Drupal 6 upgrade without translations. + * + * The test method is provided by the MigrateUpgradeTestBase class. + * + * @group migrate_drupal_ui + */ +class MigrateUpgrade6NoMultilingualTest extends MigrateUpgradeExecuteTestBase { + + /** + * {@inheritdoc} + */ + public static $modules = [ + 'language', + 'content_translation', + 'config_translation', + 'migrate_drupal_ui', + 'telephone', + 'aggregator', + 'book', + 'forum', + 'statistics', + ]; + + /** + * {@inheritdoc} + */ + protected function setUp() { + parent::setUp(); + $this->loadFixture(drupal_get_path('module', 'migrate_drupal') . '/tests/fixtures/drupal6.php'); + } + + /** + * {@inheritdoc} + */ + protected function getSourceBasePath() { + return __DIR__ . '/files'; + } + + /** + * {@inheritdoc} + */ + protected function getEntityCounts() { + return [ + 'aggregator_item' => 1, + 'aggregator_feed' => 2, + 'block' => 35, + 'block_content' => 2, + 'block_content_type' => 1, + 'comment' => 6, + // The 'standard' profile provides the 'comment' comment type, and the + // migration creates 12 comment types, one per node type. + 'comment_type' => 13, + 'contact_form' => 5, + 'configurable_language' => 5, + 'editor' => 2, + 'field_config' => 89, + 'field_storage_config' => 63, + 'file' => 8, + 'filter_format' => 7, + 'image_style' => 5, + 'language_content_settings' => 3, + 'migration' => 105, + 'node' => 17, + // The 'book' module provides the 'book' node type, and the migration + // creates 12 node types. + 'node_type' => 13, + 'rdf_mapping' => 7, + 'search_page' => 2, + 'shortcut' => 2, + 'shortcut_set' => 1, + 'action' => 23, + 'menu' => 8, + 'taxonomy_term' => 8, + 'taxonomy_vocabulary' => 7, + 'tour' => 4, + 'user' => 7, + 'user_role' => 6, + 'menu_link_content' => 8, + 'view' => 16, + 'date_format' => 11, + 'entity_form_display' => 29, + 'entity_form_mode' => 1, + 'entity_view_display' => 55, + 'entity_view_mode' => 14, + 'base_field_override' => 38, + ]; + } + + /** + * {@inheritdoc} + */ + protected function getEntityCountsIncremental() { + $counts = $this->getEntityCounts(); + $counts['block_content'] = 3; + $counts['comment'] = 7; + $counts['file'] = 9; + $counts['menu_link_content'] = 9; + $counts['node'] = 18; + $counts['taxonomy_term'] = 9; + $counts['user'] = 8; + $counts['view'] = 16; + return $counts; + } + + /** + * {@inheritdoc} + */ + protected function getAvailablePaths() { + return [ + 'aggregator', + 'block', + 'book', + 'comment', + 'contact', + 'content', + 'date', + 'dblog', + 'email', + 'filefield', + 'filter', + 'forum', + 'imagecache', + 'imagefield', + 'language', + 'link', + 'locale', + 'menu', + 'node', + 'nodereference', + 'optionwidgets', + 'path', + 'profile', + 'search', + 'statistics', + 'system', + 'taxonomy', + 'text', + 'upload', + 'user', + 'userreference', + // Include modules that do not have an upgrade path and are enabled in the + // source database, defined in the $noUpgradePath property + // in MigrateUpgradeForm. + 'date_api', + 'date_timezone', + 'event', + 'i18n', + 'i18nstrings', + 'imageapi', + 'number', + 'php', + 'profile', + 'variable_admin', + ]; + } + + /** + * {@inheritdoc} + */ + protected function getMissingPaths() { + return [ + 'i18nblocks', + 'i18ncck', + 'i18ncontent', + 'i18nmenu', + 'i18nprofile', + ]; + } + + /** + * {@inheritdoc} + */ + public function testMigrateUpgradeExecute() { + $connection_options = $this->sourceDatabase->getConnectionOptions(); + $this->drupalGet('/upgrade'); + $session = $this->assertSession(); + $session->responseContains('Upgrade a site by importing its files and the data from its database into a clean and empty new install of Drupal 8.'); + + $button = $session->buttonExists('Continue'); + $button->click(); + $session->pageTextContains('Provide credentials for the database of the Drupal site you want to upgrade.'); + + $driver = $connection_options['driver']; + $connection_options['prefix'] = $connection_options['prefix']['default']; + + // Use the driver connection form to get the correct options out of the + // database settings. This supports all of the databases we test against. + $drivers = drupal_get_database_types(); + $form = $drivers[$driver]->getFormOptions($connection_options); + $connection_options = array_intersect_key($connection_options, $form + $form['advanced_options']); + $version = $this->getLegacyDrupalVersion($this->sourceDatabase); + $edit = [ + $driver => $connection_options, + 'version' => $version, + ]; + if (count($drivers) !== 1) { + $edit['driver'] = $driver; + } + $edits = $this->translatePostValues($edit); + $this->drupalPostForm(NULL, $edits, t('Review upgrade')); + $session->pageTextContains("Install migrate_drupal_multilingual to run migration 'd6_system_maintenance_translation'."); + } + +} diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6ReviewPageTest.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6ReviewPageTest.php index c62df12df4a68e3165450a0eb9fdbf409a3f8bb3..d2fe095b5044ad2b8f885f604624a3081085772d 100644 --- a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6ReviewPageTest.php +++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6ReviewPageTest.php @@ -18,6 +18,7 @@ class MigrateUpgrade6ReviewPageTest extends MigrateUpgradeReviewPageTestBase { public static $modules = [ 'language', 'content_translation', + 'config_translation', 'telephone', 'aggregator', 'book', @@ -26,6 +27,8 @@ class MigrateUpgrade6ReviewPageTest extends MigrateUpgradeReviewPageTestBase { 'syslog', 'tracker', 'update', + // Required for translation migrations. + 'migrate_drupal_multilingual', ]; /** @@ -60,7 +63,11 @@ protected function getAvailablePaths() { 'filefield', 'filter', 'forum', + 'i18n', 'i18nblocks', + 'i18nmenu', + 'i18nprofile', + 'i18nstrings', 'i18ntaxonomy', 'imagecache', 'imagefield', @@ -105,9 +112,6 @@ protected function getAvailablePaths() { 'fieldgroup', 'filefield_meta', 'help', - 'i18n', - 'i18nmenu', - 'i18nstrings', 'imageapi', 'imageapi_gd', 'imageapi_imagemagick', @@ -141,7 +145,6 @@ protected function getMissingPaths() { 'i18ncck', 'i18ncontent', 'i18npoll', - 'i18nprofile', 'i18nsync', 'i18nviews', 'phone', diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6Test.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6Test.php index 80bc22126fb2f23cb90ba2829b82a5f684c5dd3f..96aa5579177540ef91e7989a413eb1b87daf35b4 100644 --- a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6Test.php +++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6Test.php @@ -23,6 +23,7 @@ class MigrateUpgrade6Test extends MigrateUpgradeExecuteTestBase { public static $modules = [ 'language', 'content_translation', + 'config_translation', 'migrate_drupal_ui', 'telephone', 'aggregator', @@ -30,6 +31,8 @@ class MigrateUpgrade6Test extends MigrateUpgradeExecuteTestBase { 'forum', 'statistics', 'migration_provider_test', + // Required for translation migrations. + 'migrate_drupal_multilingual', ]; /** @@ -83,7 +86,7 @@ protected function getEntityCounts() { 'menu' => 8, 'taxonomy_term' => 8, 'taxonomy_vocabulary' => 7, - 'tour' => 4, + 'tour' => 5, 'user' => 7, 'user_role' => 6, 'menu_link_content' => 10, @@ -132,9 +135,11 @@ protected function getAvailablePaths() { 'filefield', 'filter', 'forum', + 'i18n', 'i18nblocks', 'i18nmenu', - 'i18nblocks', + 'i18nprofile', + 'i18nstrings', 'i18ntaxonomy', 'imagecache', 'imagefield', @@ -161,8 +166,6 @@ protected function getAvailablePaths() { 'date_api', 'date_timezone', 'event', - 'i18n', - 'i18nstrings', 'imageapi', 'number', 'php', @@ -178,9 +181,6 @@ protected function getMissingPaths() { return [ 'i18ncck', 'i18ncontent', - // This module is in the missing path list because it is installed on the - // source site but it is not installed on the destination site. - 'i18nprofile', ]; } diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MigrateUpgrade7NoMultilingualTest.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MigrateUpgrade7NoMultilingualTest.php new file mode 100644 index 0000000000000000000000000000000000000000..c383cd74de6696d38fa230b9fa47256b321a9c46 --- /dev/null +++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MigrateUpgrade7NoMultilingualTest.php @@ -0,0 +1,213 @@ +<?php + +namespace Drupal\Tests\migrate_drupal_ui\Functional\d7; + +use Drupal\Tests\migrate_drupal_ui\Functional\MigrateUpgradeExecuteTestBase; + +/** + * Tests Drupal 6 upgrade without translations. + * + * The test method is provided by the MigrateUpgradeTestBase class. + * + * @group migrate_drupal_ui + */ +class MigrateUpgrade7NoMultilingualTest extends MigrateUpgradeExecuteTestBase { + + /** + * {@inheritdoc} + */ + public static $modules = [ + 'file', + 'language', + 'content_translation', + 'migrate_drupal_ui', + 'telephone', + 'aggregator', + 'book', + 'forum', + 'statistics', + ]; + + /** + * {@inheritdoc} + */ + protected function setUp() { + parent::setUp(); + $this->loadFixture(drupal_get_path('module', 'migrate_drupal') . '/tests/fixtures/drupal7.php'); + } + + /** + * {@inheritdoc} + */ + protected function getSourceBasePath() { + return __DIR__ . '/files'; + } + + /** + * {@inheritdoc} + */ + protected function getEntityCounts() { + return [ + 'aggregator_item' => 11, + 'aggregator_feed' => 1, + 'block' => 25, + 'block_content' => 1, + 'block_content_type' => 1, + 'comment' => 1, + // The 'standard' profile provides the 'comment' comment type, and the + // migration creates 6 comment types, one per node type. + 'comment_type' => 7, + // Module 'language' comes with 'en', 'und', 'zxx'. Migration adds 'is'. + 'configurable_language' => 4, + 'contact_form' => 3, + 'editor' => 2, + 'field_config' => 67, + 'field_storage_config' => 50, + 'file' => 3, + 'filter_format' => 7, + 'image_style' => 6, + 'language_content_settings' => 2, + 'migration' => 73, + 'node' => 5, + 'node_type' => 6, + 'rdf_mapping' => 7, + 'search_page' => 2, + 'shortcut' => 6, + 'shortcut_set' => 2, + 'action' => 17, + 'menu' => 6, + 'taxonomy_term' => 18, + 'taxonomy_vocabulary' => 4, + 'tour' => 4, + 'user' => 4, + 'user_role' => 3, + 'menu_link_content' => 10, + 'view' => 16, + 'date_format' => 11, + 'entity_form_display' => 17, + 'entity_form_mode' => 1, + 'entity_view_display' => 28, + 'entity_view_mode' => 14, + 'base_field_override' => 9, + ]; + } + + /** + * {@inheritdoc} + */ + protected function getEntityCountsIncremental() { + $counts = $this->getEntityCounts(); + $counts['block_content'] = 2; + $counts['comment'] = 2; + $counts['file'] = 4; + $counts['menu_link_content'] = 11; + $counts['node'] = 6; + $counts['taxonomy_term'] = 19; + $counts['user'] = 5; + return $counts; + } + + /** + * {@inheritdoc} + */ + protected function getAvailablePaths() { + return [ + 'aggregator', + 'block', + 'book', + 'color', + 'comment', + 'contact', + 'date', + 'dblog', + 'email', + 'entityreference', + 'field', + 'field_sql_storage', + 'file', + 'filter', + 'forum', + 'image', + 'language', + 'link', + 'list', + 'locale', + 'menu', + 'node', + 'number', + 'options', + 'path', + 'phone', + 'search', + 'shortcut', + 'statistics', + 'system', + 'taxonomy', + 'text', + 'user', + // Include modules that do not have an upgrade path and are enabled in the + // source database, defined in the $noUpgradePath property + // in MigrateUpgradeForm. + 'blog', + 'contextual', + 'date_api', + 'entity', + 'field_ui', + 'help', + 'php', + 'simpletest', + 'toolbar', + 'translation', + 'trigger', + ]; + } + + /** + * {@inheritdoc} + */ + protected function getMissingPaths() { + return [ + 'rdf', + // These modules are in the missing path list because they are installed + // on the source site but they are not installed on the destination site. + 'syslog', + 'tracker', + 'update', + ]; + } + + /** + * {@inheritdoc} + */ + public function testMigrateUpgradeExecute() { + $connection_options = $this->sourceDatabase->getConnectionOptions(); + $this->drupalGet('/upgrade'); + $session = $this->assertSession(); + $session->responseContains('Upgrade a site by importing its files and the data from its database into a clean and empty new install of Drupal 8.'); + + $button = $session->buttonExists('Continue'); + $button->click(); + $session->pageTextContains('Provide credentials for the database of the Drupal site you want to upgrade.'); + + $driver = $connection_options['driver']; + $connection_options['prefix'] = $connection_options['prefix']['default']; + + // Use the driver connection form to get the correct options out of the + // database settings. This supports all of the databases we test against. + $drivers = drupal_get_database_types(); + $form = $drivers[$driver]->getFormOptions($connection_options); + $connection_options = array_intersect_key($connection_options, $form + $form['advanced_options']); + $version = $this->getLegacyDrupalVersion($this->sourceDatabase); + $edit = [ + $driver => $connection_options, + 'version' => $version, + ]; + if (count($drivers) !== 1) { + $edit['driver'] = $driver; + } + $edits = $this->translatePostValues($edit); + $this->drupalPostForm(NULL, $edits, t('Review upgrade')); + $session->pageTextContains("Install migrate_drupal_multilingual to run migration 'd7_node_translation:article'."); + } + +} diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MigrateUpgrade7ReviewPageTest.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MigrateUpgrade7ReviewPageTest.php index 28ceaf0987d8d5edba9a4815224d8d8c698b772d..b7dba648ebdacfa164a65698382e7cfbb28e5522 100644 --- a/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MigrateUpgrade7ReviewPageTest.php +++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MigrateUpgrade7ReviewPageTest.php @@ -26,6 +26,8 @@ class MigrateUpgrade7ReviewPageTest extends MigrateUpgradeReviewPageTestBase { 'syslog', 'tracker', 'update', + // Required for translation migrations. + 'migrate_drupal_multilingual', ]; /** @@ -57,7 +59,6 @@ protected function getAvailablePaths() { 'date', 'dblog', 'email', - 'entity_translation', 'field', 'field_sql_storage', 'file', @@ -108,6 +109,7 @@ protected function getAvailablePaths() { 'entity_feature', 'entity_token', 'entityreference', + 'entity_translation', 'field_ui', 'help', 'openid', diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MigrateUpgrade7Test.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MigrateUpgrade7Test.php index e651af99af175b9f4a49e67fbf6af6f776047880..b36b6eb0cc354fefec1156908ca90b05566f6d9a 100644 --- a/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MigrateUpgrade7Test.php +++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MigrateUpgrade7Test.php @@ -31,6 +31,8 @@ class MigrateUpgrade7Test extends MigrateUpgradeExecuteTestBase { 'forum', 'statistics', 'migration_provider_test', + // Required for translation migrations. + 'migrate_drupal_multilingual', ]; /** @@ -127,7 +129,6 @@ protected function getAvailablePaths() { 'dblog', 'email', 'entityreference', - 'entity_translation', 'field', 'field_sql_storage', 'file', diff --git a/core/modules/node/tests/src/Kernel/Migrate/d6/MigrateNodeTest.php b/core/modules/node/tests/src/Kernel/Migrate/d6/MigrateNodeTest.php index 693ed36ff022dc7a34365e6a2e3c82f367d40033..700311c87116e8bd9683b45a8fe4a9478d1f2b7e 100644 --- a/core/modules/node/tests/src/Kernel/Migrate/d6/MigrateNodeTest.php +++ b/core/modules/node/tests/src/Kernel/Migrate/d6/MigrateNodeTest.php @@ -19,7 +19,13 @@ class MigrateNodeTest extends MigrateNodeTestBase { /** * {@inheritdoc} */ - public static $modules = ['language', 'content_translation', 'menu_ui']; + public static $modules = [ + 'language', + 'content_translation', + 'menu_ui', + // Required for translation migrations. + 'migrate_drupal_multilingual', + ]; /** * {@inheritdoc} diff --git a/core/modules/node/tests/src/Kernel/Migrate/d6/NodeTranslationRedirectTest.php b/core/modules/node/tests/src/Kernel/Migrate/d6/NodeTranslationRedirectTest.php index 7daac88309baa9fbf34a56f1b9e545f745b827bc..f3d03166cf482afd70baf7053ba801f634bb6362 100644 --- a/core/modules/node/tests/src/Kernel/Migrate/d6/NodeTranslationRedirectTest.php +++ b/core/modules/node/tests/src/Kernel/Migrate/d6/NodeTranslationRedirectTest.php @@ -20,6 +20,8 @@ class NodeTranslationRedirectTest extends MigrateDrupal6TestBase { 'content_translation', 'language', 'menu_ui', + // Required for translation migrations. + 'migrate_drupal_multilingual', ]; /** diff --git a/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php b/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php index 5b8a9ec97c917e6aca9f59593f48523a5b168c1b..61a19bbf6d11b4f1db2fc3a99ea99bdec0e678f6 100644 --- a/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php +++ b/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php @@ -31,6 +31,8 @@ class MigrateNodeTest extends MigrateDrupal7TestBase { 'language', 'link', 'menu_ui', + // Required for translation migrations. + 'migrate_drupal_multilingual', 'node', 'taxonomy', 'telephone', diff --git a/core/modules/node/tests/src/Kernel/Migrate/d7/NodeTranslationRedirectTest.php b/core/modules/node/tests/src/Kernel/Migrate/d7/NodeTranslationRedirectTest.php index 88cc2ade7bd03c61a6101286ef03884bf8c8656b..3e148aaf488c568082caca99e32cca476e0e5ccc 100644 --- a/core/modules/node/tests/src/Kernel/Migrate/d7/NodeTranslationRedirectTest.php +++ b/core/modules/node/tests/src/Kernel/Migrate/d7/NodeTranslationRedirectTest.php @@ -20,6 +20,8 @@ class NodeTranslationRedirectTest extends MigrateDrupal7TestBase { 'content_translation', 'language', 'menu_ui', + // Required for translation migrations. + 'migrate_drupal_multilingual', 'node', 'text', ]; diff --git a/core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php b/core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php index 59cf3cb1fb0d4c9dbbeef53e15a14079c639f227..28f22ecc959d0d3cfb59ee5e6f3df196518a4798 100644 --- a/core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php +++ b/core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php @@ -16,7 +16,14 @@ class MigrateUrlAliasTest extends MigrateDrupal6TestBase { /** * {@inheritdoc} */ - public static $modules = ['language', 'content_translation', 'path', 'menu_ui']; + public static $modules = [ + 'language', + 'content_translation', + 'path', + 'menu_ui', + // Required for translation migrations. + 'migrate_drupal_multilingual', + ]; /** * {@inheritdoc} diff --git a/core/modules/path/tests/src/Kernel/Migrate/d7/MigrateUrlAliasTest.php b/core/modules/path/tests/src/Kernel/Migrate/d7/MigrateUrlAliasTest.php index dae024950010a5627f123a2094911555f2eed971..b8d92e0c49a0252370f44d2bacc9eacb080075c6 100644 --- a/core/modules/path/tests/src/Kernel/Migrate/d7/MigrateUrlAliasTest.php +++ b/core/modules/path/tests/src/Kernel/Migrate/d7/MigrateUrlAliasTest.php @@ -18,6 +18,8 @@ class MigrateUrlAliasTest extends MigrateDrupal7TestBase { 'content_translation', 'language', 'menu_ui', + // Required for translation migrations. + 'migrate_drupal_multilingual', 'node', 'path', 'text', diff --git a/core/modules/statistics/tests/src/Kernel/Migrate/d6/MigrateNodeCounterTest.php b/core/modules/statistics/tests/src/Kernel/Migrate/d6/MigrateNodeCounterTest.php index ea917f51a426c29e354117de5a400a11837cb307..29a35fb339044d5ce7f6b49e0b9e74eb28e0b7f2 100644 --- a/core/modules/statistics/tests/src/Kernel/Migrate/d6/MigrateNodeCounterTest.php +++ b/core/modules/statistics/tests/src/Kernel/Migrate/d6/MigrateNodeCounterTest.php @@ -18,6 +18,8 @@ class MigrateNodeCounterTest extends MigrateDrupal6TestBase { 'content_translation', 'language', 'menu_ui', + // Required for translation migrations. + 'migrate_drupal_multilingual', 'node', 'statistics', 'text', diff --git a/core/modules/statistics/tests/src/Kernel/Migrate/d7/MigrateNodeCounterTest.php b/core/modules/statistics/tests/src/Kernel/Migrate/d7/MigrateNodeCounterTest.php index 9a7317fada641192568a034ec8cc7213c3f3ba9c..1401e60fd492af65dac290f7a50886e9da57ff4c 100644 --- a/core/modules/statistics/tests/src/Kernel/Migrate/d7/MigrateNodeCounterTest.php +++ b/core/modules/statistics/tests/src/Kernel/Migrate/d7/MigrateNodeCounterTest.php @@ -18,6 +18,8 @@ class MigrateNodeCounterTest extends MigrateDrupal7TestBase { 'content_translation', 'language', 'menu_ui', + // Required for translation migrations. + 'migrate_drupal_multilingual', 'node', 'statistics', 'text', diff --git a/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTaxonomyVocabularyTranslationTest.php b/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTaxonomyVocabularyTranslationTest.php index 3993abb98fbeef4fbc327f6d4f0e5e3898f0dadb..9d7176c4975841cfa6bee2ee8f4fbafa7f23c230 100644 --- a/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTaxonomyVocabularyTranslationTest.php +++ b/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTaxonomyVocabularyTranslationTest.php @@ -14,7 +14,13 @@ class MigrateTaxonomyVocabularyTranslationTest extends MigrateDrupal6TestBase { /** * {@inheritdoc} */ - public static $modules = ['language', 'taxonomy']; + public static $modules = [ + 'config_translation', + 'language', + 'taxonomy', + // Required for translation migrations. + 'migrate_drupal_multilingual', + ]; /** * {@inheritdoc}