diff --git a/migrate_tools.drush.inc b/migrate_tools.drush.inc index c0547be..9ed2809 100644 --- a/migrate_tools.drush.inc +++ b/migrate_tools.drush.inc @@ -6,7 +6,6 @@ */ use Drupal\Component\Utility\Unicode; -use Drupal\migrate\Entity\Migration; use Drupal\migrate\Entity\MigrationInterface; use Drupal\migrate_tools\MigrateExecutable; use Drupal\migrate_tools\DrushLogMigrateMessage; @@ -177,6 +176,7 @@ function drush_migrate_tools_migrate_status($migration_names = '') { } } catch (Exception $e) { + drush_print($e->getMessage()); drush_log(dt('Could not retrieve source count from @migration', ['@migration' => $migration_id])); $source_rows = dt('N/A'); @@ -298,8 +298,8 @@ function drush_migrate_tools_migrate_rollback($migration_names = '') { * @param string $migration_id */ function drush_migrate_tools_migrate_stop($migration_id = '') { - /** @var Migration $migration */ - $migration = Migration::load($migration_id); + /** @var MigrationInterface $migration */ + $migration = \Drupal::service('plugin.manager.migration')->createInstance($migration_id); if ($migration) { $status = $migration->getStatus(); switch ($status) { @@ -327,8 +327,8 @@ function drush_migrate_tools_migrate_stop($migration_id = '') { * @param string $migration_id */ function drush_migrate_tools_migrate_reset_status($migration_id = '') { - /** @var Migration $migration */ - $migration = Migration::load($migration_id); + /** @var MigrationInterface $migration */ + $migration = \Drupal::service('plugin.manager.migration')->createInstance($migration_id); if ($migration) { $status = $migration->getStatus(); if ($status == MigrationInterface::STATUS_IDLE) { @@ -348,8 +348,8 @@ function drush_migrate_tools_migrate_reset_status($migration_id = '') { * @param string $migration_id */ function drush_migrate_tools_migrate_messages($migration_id) { - /** @var Migration $migration */ - $migration = Migration::load($migration_id); + /** @var MigrationInterface $migration */ + $migration = \Drupal::service('plugin.manager.migration')->createInstance($migration_id); if ($migration) { $map = $migration->getIdMap(); $first = TRUE; @@ -393,8 +393,8 @@ function drush_migrate_tools_migrate_messages($migration_id) { * @param string $migration_id */ function drush_migrate_tools_migrate_fields_source($migration_id) { - /** @var Migration $migration */ - $migration = Migration::load($migration_id); + /** @var MigrationInterface $migration */ + $migration = \Drupal::service('plugin.manager.migration')->createInstance($migration_id); if ($migration) { $source = $migration->getSourcePlugin(); $table = []; @@ -420,18 +420,6 @@ function drush_migrate_tools_migrate_fields_source($migration_id) { * An array keyed by migration group, each value containing an array of migrations. */ function drush_migrate_tools_migration_list($group_id = '', $migration_ids = '') { - $query = \Drupal::entityQuery('migration'); - if ($group_id) { - $query->condition('third_party_settings.migrate_plus.migration_group', $group_id); - } - $names = $query->execute(); - - // Order the migrations according to their dependencies. - /** @var MigrationInterface[] $migrations */ - $migrations = \Drupal::entityTypeManager() - ->getStorage('migration') - ->loadMultiple($names); - if (!empty($migration_ids)) { $migration_ids = explode(',', Unicode::strtolower($migration_ids)); } @@ -439,17 +427,23 @@ function drush_migrate_tools_migration_list($group_id = '', $migration_ids = '') $migration_ids = []; } - $return = []; - foreach ($migrations as $migration_id => $migration) { - if (empty($migration_ids) || in_array(Unicode::strtolower($migration_id), $migration_ids)) { - $group_id = $migration->getThirdPartySetting('migrate_plus', 'migration_group'); - if (!empty($group_id)) { - $return[$group_id][$migration_id] = $migration; - } - else { - $return['default'][$migration_id] = $migration; + /** @var \Drupal\migrate\Plugin\MigrationPluginManagerInterface $manager */ + $manager = \Drupal::service('plugin.manager.migration'); + $plugin_definitions = $manager->getDefinitions(); + $migrations = []; + foreach ($plugin_definitions as $plugin_id => $definition) { + if (isset($definition['third_party_settings']['migrate_plus']['migration_group'])) { + $configured_group_id = $definition['third_party_settings']['migrate_plus']['migration_group']; + } + else { + $configured_group_id = 'default'; + } + if (empty($group_id) || $group_id == $configured_group_id) { + if (empty($migration_ids) || in_array(Unicode::strtolower($plugin_id), $migration_ids)) { + $migration = $manager->createInstance($plugin_id, $definition); + $migrations[$group_id][$plugin_id] = $migration; } } } - return $return; + return $migrations; } diff --git a/migrate_tools.module b/migrate_tools.module index b4fc208..c1bc5c8 100644 --- a/migrate_tools.module +++ b/migrate_tools.module @@ -9,6 +9,7 @@ * Implements hook_entity_type_alter(). */ function migrate_tools_entity_type_alter(array &$entity_types) { + return; // Inject our UI into the general migration and migration group config entities. /** @var \Drupal\Core\Config\Entity\ConfigEntityType[] $entity_types */ $entity_types['migration']