diff --git a/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php b/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php index 04da0f5..2298333 100644 --- a/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php +++ b/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php @@ -769,6 +769,13 @@ public function buildConfirmForm(array $form, FormStateInterface $form_state) { // Fetch the system data at the first opportunity. $system_data = $form_state->get('system_data'); + // Remove core profiles from the sytem data. + foreach (system_get_info('module') as $name => $info) { + if ($info['type'] === 'profile') { + unset($system_data['module'][$name]); + } + } + // Add source_module and destination_module for modules that do not need an // upgrade path and are enabled on the source site. foreach ($this->noUpgradePaths[$version] as $extension) { diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php b/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php index 8496b11..15a585b 100644 --- a/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php +++ b/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php @@ -129,6 +129,15 @@ protected function translatePostValues(array $values) { * An array of modules that will not be upgraded. */ protected function assertUpgradePaths(WebAssert $session, array $available_paths, array $missing_paths) { + // Ensure that all available/missing are modules and not install profiles. + $system_info = system_get_info('module'); + foreach ($available_paths as $available) { + $this->assertEquals('module', $system_info[$available]['type']); + } + foreach ($missing_paths as $missing) { + $this->assertEquals('module', $system_info[$missing]['type']); + } + // Test the available migration paths. foreach ($available_paths as $available) { $session->elementExists('xpath', "//span[contains(@class, 'checked') and text() = '$available']");