services: # Indexers are plugins responsible for gathering information about a target # module. Things like: # # - Which classes are defined, and which files they reside in # - Which functions are defined, and where # - The tests, if any, and what type of tests they are # - Which hooks the module implements # - ...etc. # # Indexers can index any information about a target module, and they store it # in an indexer (provided by the module_indexer service defined above). plugin.manager.drupalmoduleupgrader.indexer: class: Drupal\Core\Plugin\DefaultPluginManager arguments: - Plugin/DMU/Indexer - '@container.namespaces' - '@module_handler' - Drupal\drupalmoduleupgrader\IndexerInterface - Drupal\drupalmoduleupgrader\Annotation\Indexer # Analyzers scan a module, determine what problems exist, then flag issues # containing a summary, a list of problem points (actual line numbers and # file names in the scanned module), with links with documentation explaining # what needs to be changed. As the name implies, analyzers are read-only and # do not modify the target module in any way, shape, or form. # # Analyzers are invoked after all indexers have been run, so they can and should # use the information in the index as needed. plugin.manager.drupalmoduleupgrader.analyzer: class: Drupal\Core\Plugin\DefaultPluginManager arguments: - Plugin/DMU/Analyzer - '@container.namespaces' - '@module_handler' - Drupal\drupalmoduleupgrader\AnalyzerInterface - Drupal\drupalmoduleupgrader\Annotation\Analyzer # Converters are DEPRECATED by fixers and should not be used or extended. plugin.manager.drupalmoduleupgrader.converter: class: Drupal\Core\Plugin\DefaultPluginManager arguments: - Plugin/DMU/Converter - '@container.namespaces' - '@module_handler' - Drupal\drupalmoduleupgrader\ConverterInterface - Drupal\drupalmoduleupgrader\Annotation\Converter # Fixers perform small, isolated changes to PHP code, using Pharborist. # They're the same idea as PHP_CodeSniffer fixer classes, except that they # have the full power of Drupal, DMU, and Pharborist behind them. Kind of # a "you and what army?" situation, except fixers are on the side of the # mighty! :) plugin.manager.drupalmoduleupgrader.fixer: class: Drupal\Core\Plugin\DefaultPluginManager arguments: - Plugin/DMU/Fixer - '@container.namespaces' - '@module_handler' - Drupal\drupalmoduleupgrader\FixerInterface - Drupal\drupalmoduleupgrader\Annotation\Fixer # Parametric rewriters are intelligent search-and-replace plugins that act # on complete functions. Given one of the function's parameters and its type # (which must be known ahead of time), the rewriter will alter the function # so that it's calling the parameter's correct getters and setters for its # various properties. Essentially, they're a type-aware search and replace. plugin.manager.drupalmoduleupgrader.rewriter: class: Drupal\Core\Plugin\DefaultPluginManager arguments: - Plugin/DMU/Rewriter - '@container.namespaces' - '@module_handler' - Drupal\drupalmoduleupgrader\RewriterInterface - Drupal\drupalmoduleupgrader\Annotation\Rewriter plugin.manager.drupalmoduleupgrader.route: class: Drupal\Core\Plugin\DefaultPluginManager arguments: - Plugin/DMU/Routing - '@container.namespaces' - '@module_handler' - Drupal\drupalmoduleupgrader\Routing\RouteConverterInterface - Drupal\drupalmoduleupgrader\Annotation\Converter drupalmoduleupgrader.link_binding: class: Drupal\drupalmoduleupgrader\Routing\LinkBinding\LinkBindingFactory arguments: - '@plugin.manager.menu.link' drupalmoduleupgrader.form_converter: class: Drupal\drupalmoduleupgrader\Utility\FormConverterFactory arguments: - '@string_translation' - '@plugin.manager.drupalmoduleupgrader.rewriter'