You are here

protected function MigrateUpgradeDrushRunner::expandPluginIds in Migrate Upgrade 8.3

Expand derivative migration dependencies.

We need to expand any derivative migrations. Derivative migrations are calculated by migration derivers such as D6NodeDeriver. This allows migrations to depend on the base id and then have a dependency on all derivative migrations. For example, d6_comment depends on d6_node but after we've expanded the dependencies it will depend on d6_node:page, d6_node:story and so on, for other derivative migrations.

Return value

array An array of expanded plugin ids.

2 calls to MigrateUpgradeDrushRunner::expandPluginIds()
MigrateUpgradeDrushRunner::substituteIds in src/MigrateUpgradeDrushRunner.php
Rewrite any migration plugin IDs so they won't conflict with the core IDs.
MigrateUpgradeDrushRunner::substituteMigrationIds in src/MigrateUpgradeDrushRunner.php
Recursively substitute IDs for migration plugins.

File

src/MigrateUpgradeDrushRunner.php, line 464

Class

MigrateUpgradeDrushRunner
Class MigrateUpgradeDrushRunner.

Namespace

Drupal\migrate_upgrade

Code

protected function expandPluginIds(array $migration_ids) {
  $plugin_ids = [];
  foreach ($migration_ids as $id) {
    $plugin_ids += preg_grep('/^' . preg_quote($id, '/') . PluginBase::DERIVATIVE_SEPARATOR . '/', array_keys($this->migrationList));
    if (array_key_exists($id, $this->migrationList)) {
      $plugin_ids[] = $id;
    }
  }
  return array_values($plugin_ids);
}