function Migration::getMigrationDependencies

Same name and namespace in other branches
  1. 9 core/modules/migrate/src/Plugin/Migration.php \Drupal\migrate\Plugin\Migration::getMigrationDependencies()
  2. 8.9.x core/modules/migrate/src/Plugin/Migration.php \Drupal\migrate\Plugin\Migration::getMigrationDependencies()
  3. 11.x core/modules/migrate/src/Plugin/Migration.php \Drupal\migrate\Plugin\Migration::getMigrationDependencies()

Get the dependencies for this migration.

Parameters

bool $expand: Will issue a deprecation in Drupal 10 if set to FALSE. See https://www.drupal.org/node/3266691.

Return value

array The dependencies for this migrations.

Overrides MigrationInterface::getMigrationDependencies

1 method overrides Migration::getMigrationDependencies()
TestMigrationMock::getMigrationDependencies in core/modules/migrate/tests/src/Unit/MigrationPluginManagerTest.php
Get the dependencies for this migration.

File

core/modules/migrate/src/Plugin/Migration.php, line 686

Class

Migration
Defines the Migration plugin.

Namespace

Drupal\migrate\Plugin

Code

public function getMigrationDependencies(bool $expand = FALSE) {
  if (!$expand) {
    @trigger_error('Calling Migration::getMigrationDependencies() without expanding the plugin IDs is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. In most cases, use getMigrationDependencies(TRUE). See https://www.drupal.org/node/3266691', E_USER_DEPRECATED);
  }
  // @todo Before Drupal 11.0.0, remove ::set() and these checks.
  // @see https://www.drupal.org/project/drupal/issues/3262395
  $this->migration_dependencies = ($this->migration_dependencies ?: []) + [
    'required' => [],
    'optional' => [],
  ];
  if (count($this->migration_dependencies) !== 2 || !is_array($this->migration_dependencies['required']) || !is_array($this->migration_dependencies['optional'])) {
    throw new InvalidPluginDefinitionException($this->id(), "Invalid migration dependencies configuration for migration {$this->id()}");
  }
  $this->migration_dependencies['optional'] = array_unique(array_merge($this->migration_dependencies['optional'], $this->findMigrationDependencies($this->process)));
  if (!$expand) {
    return $this->migration_dependencies;
  }
  return array_map([
    $this->migrationPluginManager,
    'expandPluginIds',
  ], $this->migration_dependencies);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.