2 # Indexers are plugins responsible for gathering information about a target
5 # - Which classes are defined, and which files they reside in
6 # - Which functions are defined, and where
7 # - The tests, if any, and what type of tests they are
8 # - Which hooks the module implements
11 # Indexers can index any information about a target module, and they store it
12 # in an indexer (provided by the module_indexer service defined above).
13 plugin.manager.drupalmoduleupgrader.indexer:
14 class: Drupal\Core\Plugin\DefaultPluginManager
17 - '@container.namespaces'
19 - Drupal\drupalmoduleupgrader\IndexerInterface
20 - Drupal\drupalmoduleupgrader\Annotation\Indexer
22 # Analyzers scan a module, determine what problems exist, then flag issues
23 # containing a summary, a list of problem points (actual line numbers and
24 # file names in the scanned module), with links with documentation explaining
25 # what needs to be changed. As the name implies, analyzers are read-only and
26 # do not modify the target module in any way, shape, or form.
28 # Analyzers are invoked after all indexers have been run, so they can and should
29 # use the information in the index as needed.
30 plugin.manager.drupalmoduleupgrader.analyzer:
31 class: Drupal\Core\Plugin\DefaultPluginManager
34 - '@container.namespaces'
36 - Drupal\drupalmoduleupgrader\AnalyzerInterface
37 - Drupal\drupalmoduleupgrader\Annotation\Analyzer
39 # Converters are DEPRECATED by fixers and should not be used or extended.
40 plugin.manager.drupalmoduleupgrader.converter:
41 class: Drupal\Core\Plugin\DefaultPluginManager
43 - Plugin/DMU/Converter
44 - '@container.namespaces'
46 - Drupal\drupalmoduleupgrader\ConverterInterface
47 - Drupal\drupalmoduleupgrader\Annotation\Converter
49 # Fixers perform small, isolated changes to PHP code, using Pharborist.
50 # They're the same idea as PHP_CodeSniffer fixer classes, except that they
51 # have the full power of Drupal, DMU, and Pharborist behind them. Kind of
52 # a "you and what army?" situation, except fixers are on the side of the
54 plugin.manager.drupalmoduleupgrader.fixer:
55 class: Drupal\Core\Plugin\DefaultPluginManager
58 - '@container.namespaces'
60 - Drupal\drupalmoduleupgrader\FixerInterface
61 - Drupal\drupalmoduleupgrader\Annotation\Fixer
63 # Parametric rewriters are intelligent search-and-replace plugins that act
64 # on complete functions. Given one of the function's parameters and its type
65 # (which must be known ahead of time), the rewriter will alter the function
66 # so that it's calling the parameter's correct getters and setters for its
67 # various properties. Essentially, they're a type-aware search and replace.
68 plugin.manager.drupalmoduleupgrader.rewriter:
69 class: Drupal\Core\Plugin\DefaultPluginManager
72 - '@container.namespaces'
74 - Drupal\drupalmoduleupgrader\RewriterInterface
75 - Drupal\drupalmoduleupgrader\Annotation\Rewriter
77 plugin.manager.drupalmoduleupgrader.route:
78 class: Drupal\Core\Plugin\DefaultPluginManager
81 - '@container.namespaces'
83 - Drupal\drupalmoduleupgrader\Routing\RouteConverterInterface
84 - Drupal\drupalmoduleupgrader\Annotation\Converter
86 drupalmoduleupgrader.link_binding:
87 class: Drupal\drupalmoduleupgrader\Routing\LinkBinding\LinkBindingFactory
89 - '@plugin.manager.menu.link'
91 drupalmoduleupgrader.form_converter:
92 class: Drupal\drupalmoduleupgrader\Utility\FormConverterFactory
94 - '@string_translation'
95 - '@plugin.manager.drupalmoduleupgrader.rewriter'