diff --git a/core/modules/migrate/src/Entity/Migration.php b/core/modules/migrate/src/Entity/Migration.php index 78a0605..392958a 100644 --- a/core/modules/migrate/src/Entity/Migration.php +++ b/core/modules/migrate/src/Entity/Migration.php @@ -211,9 +211,13 @@ class Migration extends ConfigEntityBase implements MigrationInterface, Requirem /** * {@inheritdoc} */ - public function getSourcePlugin() { + public function getSourcePlugin($cache = TRUE) { if (!isset($this->sourcePlugin)) { - $this->sourcePlugin = \Drupal::service('plugin.manager.migrate.source')->createInstance($this->source['plugin'], $this->source, $this); + $source_plugin = \Drupal::service('plugin.manager.migrate.source')->createInstance($this->source['plugin'], $this->source, $this); + if ($cache) { + $this->sourcePlugin = $source_plugin; + } + return $source_plugin; } return $this->sourcePlugin; } diff --git a/core/modules/migrate_drupal/src/MigrationStorage.php b/core/modules/migrate_drupal/src/MigrationStorage.php index f77e34d..c06d15a 100644 --- a/core/modules/migrate_drupal/src/MigrationStorage.php +++ b/core/modules/migrate_drupal/src/MigrationStorage.php @@ -153,7 +153,7 @@ protected function applyCckFieldProcessors(array $entities) { // If this is a CCK bundle migration, allow the cck field plugins to add // any field type processing. - $source_plugin = $migration->getSourcePlugin(); + $source_plugin = $migration->getSourcePlugin(FALSE); if ($source_plugin instanceof CckFieldMigrateSourceInterface) { $plugins = $this->getCckFieldPlugins(); foreach ($source_plugin->fieldData() as $field_name => $data) {