extensions: add basic support
Metadata
Current evaluation
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.
Resolution: closed resolved
Reason: The PR itself was merged into main as commit 7591dc3b ('extensions: add basic support (#281)'), creating rockcraft/extensions/extension.py with the Extension class, property definitions and validate/apply logic wired into project loading, alongside new unit tests. It was the first step of the Extensions Framework epic tracked in issue #273, and the maintainer deferred docs/spread tests until a concrete extension landed.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | 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. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #281 (commit 7591dc3b) landed the first slice of Rockcraft extensions: extension validation and application when a project is loaded, with tests. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #281 via commit 7591dc3b, adding basic Rockcraft extension validation and application when projects load. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in PR #281 as commit 7591dc3b, adding project-load-time extension validation and application, including new parts, top-level elements, and part modifications. | |
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged initial extension support for Rockcraft, implementing validation and application during project load. Documentation and testing are deferred until a functional extension and CLI options are available. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/rockcraft#273
(confidence 88%)
Extensions Framework umbrella issue that this basic support PR started; later closed as delivered by #281
-
Related To:
canonical/rockcraft#922
(confidence 55%)
Follow-up work adding the 'extensions' field to the rockcraft.yaml JSON schema, fixed by PR #1057 (23fe7dfe)
-
Related To:
canonical/rockcraft#606
(confidence 45%)
Early real extension (Flask) built on top of the extension framework introduced here, expanding it into a working feature
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #273 Extensions Framework | rockcraft | closed | Extensions primitives for Rockcraft delivered by merged PR #281 (commit 7591dc3b, 'extensions: add basic support'), adding an Extension base class with validate()/apply() plus project-load integration. Closed by tigarmo. | |
| #922 Add extensions to the Rockcraft JSON schema | rockcraft | closed | Rockcraft added the extensions field to the rockcraft.yaml JSON schema in merged PR #1057 (commit 23fe7dfe), allowing IDE validation of 12-factor extensions. | |
| #1248 feat(extensions): add basic support | charmcraft | merged | Merged PR #1248 as 65726afc, adding basic extensions support and fixing #1238; extensions now run after base expansion during charmcraft.yaml unmarshalling. | |
| #292 extensions: add cli commands | rockcraft | merged | Merged PR #292 (commit e8858077) added `list-extensions` and `expand-extensions` CLI commands with Snapcraft-equivalent semantics, plus test-data refactoring; closed rockcraft#274. |