Change record status: 
Project: 
Introduced in branch: 
8.3.x
Introduced in version: 
8.3.0
Description: 

\Drupal\migrate\Plugin\migrate\source\SqlBaseSqlBase now implements RequirementsInterface.

Summary
In #2830036: MigrationPluginManager::getDefinitions() blows up in node derivers, a change was introduced to allow Derivers that require a connection to Drupal 6 or Drupal 7 to be more resilient. Before this change, calling MigrationPluginManager::getDefinitions() when the migrate_drupal module is enabled and no connection is defined for Drupal migrations, we would get ConnectionNotDefinedException from various derivers, and thus get no migrations back (even the ones that are fine).

Before
n/a

After
In the Deriver's getDerivativeDefinitions() method, add a snippet like below (from Node deriver).

    $node_types = static::getSourcePlugin('d6_node_type');
    try {
      $node_types->checkRequirements();
    }
    catch (RequirementsException $e) {
      // If the d6_node_type requirements failed, that means we do not have a
      // Drupal source database configured - there is nothing to generate.
      return $this->derivatives;
    }
Impacts: 
Module developers
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Other updates done