feat(extensions): add basic support
Metadata
Current evaluation
Merged to resolve issue #1238, adding basic extension support. Approved by two reviewers, apply_extensions now runs in unmarshal after base expansion to support unified charmcraft.yaml formats, requiring double base expansion if extensions modify bases. (+750/-3 lines, 10 files)
Suggested action: —
No scores available.
Issue body
Fix: https://github.com/canonical/charmcraft/issues/1238
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged to resolve issue #1238, adding basic extension support. Approved by two reviewers, apply_extensions now runs in unmarshal after base expansion to support unified charmcraft.yaml formats, requiring double base expansion if extensions modify bases. (+750/-3 lines, 10 files) | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Adds basic extension support to charmcraft by moving apply_extensions into unmarshal to handle unified charmcraft.yaml formats. This requires expand_short_form_bases to execute twice if extensions modify bases. Closes issue #1238. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged basic extension support for charmcraft, fixing issue #1238. apply_extensions was moved into unmarshal to handle unified charmcraft.yaml and pydantic constraints, requiring expand_short_form_bases to run twice if extensions modify bases. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2713 feat(extensions): make extensions work with `base` | charmcraft | merged | Merged a feature update that enables extensions to work with the base configuration and relaxes associated validation rules. Authored by lengau to address CHARMCRAFT-703. | |
| #281 extensions: add basic support | rockcraft | merged | Merged basic extension support for Rockcraft, enabling validation and application during project load. Approved by two reviewers, passed CI, and changed 12 files. Docs and testing deferred until concrete extensions exist. | |
| #147 feat: extensible commands | craft-application | merged | Merged extensible commands allowing applications to register parser fillers, prologues, and epilogues. Approved by two reviewers with passing CI and full test coverage. Added +376/-42 lines across seven files to support charmcraft transition. | |
| #3197 experimental extension support | snapcraft | merged | Merged experimental extension support. Requires #3196. Approved by one reviewer, rebased by the author, and integrated with 102 additions and 8 deletions across seven files. | |
| #1268 feat(extensions): add cli commands | charmcraft | merged | Merged. Introduces CLI commands expand-extensions and list-extensions to resolve issue #1242. Approved by two reviewers, the change modifies ten files with 344 additions and 41 deletions. | |
| #1550 feat(extensions): add bundle extension | charmcraft | merged | Merged a bundle extension that auto-populates bundle parts and enables it by default. Approved by two reviewers with passing CI. Resolves ca-2 feature branch bundle build issues, modifying 11 files (+229/-5 lines). | |
| #383 commands/build: charm file name format support for bases (CRAFT-66) | charmcraft | merged | Merged following approval by three reviewers. Introduces charm file name format support for bases configuration, preserving the existing format as a legacy runtime path. Includes corresponding tests. (+98/-1 lines, 2 files changed) | |
| #341 config: add short-form bases support (CRAFT-11) | charmcraft | merged | Merged: Added short-form bases support to configuration, resolving CRAFT-11. Approved by two reviewers, the change adds 130 lines across two files to allow bases to imply their long-form build-on/run-on equivalents. |