diff --git a/core/modules/migrate/src/Plugin/Migration.php b/core/modules/migrate/src/Plugin/Migration.php index c0e4863e3c2866f87a17dbc8087ca7e8836308ee..66c45019c3ea482833fa351b29d0d395f7987d8b 100644 --- a/core/modules/migrate/src/Plugin/Migration.php +++ b/core/modules/migrate/src/Plugin/Migration.php @@ -417,6 +417,13 @@ public function getIdMap() { return $this->idMapPlugin; } + /** + * {@inheritDoc} + */ + public function getRequirements(): array { + return $this->requirements; + } + /** * {@inheritdoc} */ diff --git a/core/modules/migrate/src/Plugin/MigrationInterface.php b/core/modules/migrate/src/Plugin/MigrationInterface.php index 0ac9e335d3a38724b918e111a707ed97dce7cc56..5a17f3178c70f08d1b1b1f584f42e8da0a94e462 100644 --- a/core/modules/migrate/src/Plugin/MigrationInterface.php +++ b/core/modules/migrate/src/Plugin/MigrationInterface.php @@ -103,6 +103,13 @@ public function id(); */ public function label(); + /** + * Get a list of required plugin IDs. + * + * @returns string[] + */ + public function getRequirements(): array; + /** * Returns the initialized source plugin. * diff --git a/core/modules/migrate/tests/src/Unit/MigrationTest.php b/core/modules/migrate/tests/src/Unit/MigrationTest.php index 27e9a803b3ed3b798cedec193efd175e2dddcc58..8aa87c73249d6e4464d1faf266c230d8d3cf705d 100644 --- a/core/modules/migrate/tests/src/Unit/MigrationTest.php +++ b/core/modules/migrate/tests/src/Unit/MigrationTest.php @@ -113,6 +113,19 @@ public function testRequirementsForMigrations() { $migration->checkRequirements(); } + /** + * Tests getting requirement list. + * + * @covers ::getRequirements + */ + public function testGetMigrations() { + $migration = new TestMigration(); + + $requirements = ['test_a', 'test_b', 'test_c', 'test_d']; + $migration->setRequirements($requirements); + $this->assertArrayEquals($requirements, $migration->getRequirements()); + } + /** * Tests valid migration dependencies configuration returns expected values. *