* Classes for configurable plugins are a special case. They can either declare
* their configuration dependencies using the calculateDependencies() method
* described in the paragraph above, or if they have only static dependencies,
* these can be declared using the 'config_dependencies' annotation key.
This is does not really tell the whole story. The configuration entity has to implement EntityWithPluginCollectionInterface
and the plugins can implement ConfigurablePluginInterface
. If the config entity implements EntityWithPluginCollectionInterface
plugin providers and dependencies declared in the plugin's config_dependencies definition key (this does not have to be an annotation - it can be a derived definition) are added. If the plugin implements ConfigurablePluginInterface
then each plugin instance's calculateDependencies()
method is called.