← Back to issue list

many: simplify plugin loading

View original Github issue

Metadata

Project
snapcraft
Number
#1507
Type
pull request
State
merged
Author
kyrofa
Labels
Created
Updated
Closed

Current evaluation

Merged an architectural refactor that simplifies plugin loading by shifting initialization from PluginHandler to PartsConfig. Approved by one reviewer across 13 files, the change decouples components and enables future grammar processing extraction.

Suggested action:

No scores available.

Issue body

Currently, loading a plugin goes through many layers of redirection, which is confusing and causes components to be integrated more tightly than would be ideal. This PR simplifies it by no longer loading plugins within PluginHandler, but rather accepting an already-loaded plugin. That plugin is then loaded in PartsConfig, where it is then handed to the PluginHandler. Beyond an improved design, this also gives us the ability to extract grammar processing completely from the PluginHandler, which will be done in a follow-up PR.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged an architectural refactor that simplifies plugin loading by shifting initialization from PluginHandler to PartsConfig. Approved by one reviewer across 13 files, the change decouples components and enables future grammar processing extraction.
qwen3.6-35b-a3b-mtp-q6 Merged a refactor simplifying plugin loading by moving initialization from PluginHandler to PartsConfig. Plugins are now passed as pre-loaded instances, reducing coupling and enabling future grammar processing extraction.
qwen3.6-35b-a3b-mtp-q6 Merged a refactor simplifying plugin loading by moving initialization from PluginHandler to PartsConfig. Plugins are now pre-loaded and passed directly, reducing tight coupling and enabling future grammar processing extraction.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#40 parts: unmarshal plugin properties craft-parts merged Merged following two reviewer approvals and passing CI. The change implements validation and unmarshaling logic for plugin properties, assigning them to their corresponding parts across six modified files.
72%
#1897 refactor: move parts plugins to their own module charmcraft merged Merged a refactor by maintainer lengau that relocates parts plugins to a dedicated module, decoupling them from craft-parts. Approved by two reviewers, modifying 11 files (+72/-37).
70%