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 687

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.