Problem/Motivation

In #2786355: Convert multiple provider plugin work from migrate into plugin dependencies in core, plugin class dependencies (such as the plugin class extending a class, implementing an interface, or using a trait from a different module) were found via Reflection and added as a property on the plugin definition. These dependencies include the provider (module, in other words) list of the class/interface/trait.

Though these module dependencies exist in the plugin definition, they may also need to be included in the dependency calculation for configuration that uses these plugins, so that module uninstallation can be acted on appropriately.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

Comments

godotislate created an issue. See original summary.

godotislate’s picture

Title: Add plugin class module dependencies to dependency calculation » [PP-1] Add plugin class module dependencies to dependency calculation

Version: 11.x-dev » main

Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

Read more in the announcement.

claudiu.cristea’s picture

Title: [PP-1] Add plugin class module dependencies to dependency calculation » Add plugin class module dependencies to dependency calculation
Status: Active » Needs work

I guess this is no more blocked.

godotislate’s picture

So in #2786355: Convert multiple provider plugin work from migrate into plugin dependencies in core, the dependencies are parsed into a separate property (dependencies) from the plugin definition (content), which makes them inaccessible outside parsing. I think I did this worrying about any collisions with an possibly existing dependencies property in the plugin definition, as well as wanting to avoid bloating the definition.

Likely in order to do this, though, the dependencies will need to be saved to the plugin definition content as it is parsed, so they can be retrieved later.