feat(extensions): add basic support
Metadata
Current evaluation
Merged PR #1248 as 65726afc, adding basic extensions support and fixing #1238; extensions now run after base expansion during charmcraft.yaml unmarshalling.
Resolution: closed resolved
Reason: PR #1248 was merged as commit 65726afc. It added extension processing after short-form base expansion during unmarshalling, resolving issue #1238.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Fix: https://github.com/canonical/charmcraft/issues/1238
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1248 as 65726afc, adding basic extensions support and fixing #1238; extensions now run after base expansion during charmcraft.yaml unmarshalling. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #1248 (65726afc) added basic extensions support and fixed #1238; apply_extensions now runs after base expansion in unmarshal, supporting unified charmcraft.yaml. | |
| 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. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/charmcraft#1238
(confidence 100%)
The merged PR explicitly identifies this extension-support issue as fixed.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1238 Support for extensions (basic support) | charmcraft | closed | Basic extension support was merged in #1248 (65726afc), with extensions expanded after base expansion while loading charmcraft.yaml. | |
| #1242 Support for extensions (command line) | charmcraft | closed | Extension support landed in merged PR #1248 (65726afc), adding the basic framework and unified charmcraft.yaml handling. | |
| #2713 feat(extensions): make extensions work with `base` | charmcraft | merged | Merged PR #2713 as cbcfefb9, enabling extensions to work with charm base and relaxing associated validation for CHARMCRAFT-703. | |
| #281 extensions: add basic support | rockcraft | merged | Merged PR #281 (commit 7591dc3b) adding basic extensions support to Rockcraft: an Extension base class with property definitions and validate()/apply() logic, applied and validated when a project is loaded, plus unit tests. | |
| #1622 fix: reorganise charmcraft.yaml preprocessing | charmcraft | merged | Merged in #1622 (commit 7ce4182e): extensions now run first, charms with bases get a default part, and parts must be a dictionary. |