}
/**
- * {@inheritdoc}
+ * Gets the plugin discovery.
+ *
+ * This method overrides DefaultPluginManager::getDiscovery() in order to
+ * search for migration configurations in the MODULENAME/migrations and
+ * MODULENAME/migration_templates directories. Throws a deprecation notice if
+ * the MODULENAME/migration_templates directory exists.
*/
protected function getDiscovery() {
if (!isset($this->discovery)) {
$directories = array_map(function ($directory) {
+ // Check for use of the @deprecated /migration_templates directory.
+ // @todo Remove use of /migration_templates in Drupal 9.0.0.
+ if (is_dir($directory . '/migration_templates')) {
+ @trigger_error('Use of the /migration_templates directory to store migration configuration files is deprecated in Drupal 8.1.0 and will be removed before Drupal 9.0.0. See https://www.drupal.org/node/2920988.', E_USER_DEPRECATED);
+ }
+ // But still accept configurations found in /migration_templates.
return [$directory . '/migration_templates', $directory . '/migrations'];
}, $this->moduleHandler->getModuleDirectories());
}
/**
- * Create migrations given a tag.
- *
- * @param string $tag
- * A migration tag we want to filter by.
- *
- * @return array|\Drupal\migrate\Plugin\MigrationInterface[]
- * An array of migration objects with the given tag.
+ * {@inheritdoc}
*/
public function createInstancesByTag($tag) {
$migrations = array_filter($this->getDefinitions(), function ($migration) use ($tag) {