extensions: support adding root properties
Metadata
Current evaluation
Merged PR #2347 as commit 482bffb1c, allowing extensions to add root-level snapcraft.yaml properties such as plugs and slots; resolves LP #1794531.
Resolution: closed resolved
Reason: PR #2347 was merged into snapcraft as commit 482bffb1c, implementing support for root-level YAML snippets in extensions.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh tests/unit`?
-----
Currently, extensions are limited to adding YAML snippets to apps and parts, and adding new parts. In order to facilitate adding e.g. new plugs and slots, this PR resolves [LP: #1794531](https://bugs.launchpad.net/snapcraft/+bug/1794531) by adding the ability for extensions to also add YAML snippets to the root of the snapcraft.yaml.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #2347 as commit 482bffb1c, allowing extensions to add root-level snapcraft.yaml properties such as plugs and slots; resolves LP #1794531. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #2347 as 482bffb1c, adding extension support for root-level snapcraft.yaml properties such as plugs and slots and resolving LP #1794531. | |
| stealth/space-bunny-alpha | — | closed resolved | PR #2347 merged as commit 482bffb1, adding ability for extensions to append YAML snippets to the root of snapcraft.yaml (e.g. new plugs/slots), resolving LP bug #1794531. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #2347 as commit 482bffb1c, enabling extensions to add root-level snapcraft.yaml properties such as plugs and slots and resolving LP #1794531. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in PR #2347 as commit 482bffb1, enabling extensions to add YAML snippets to the snapcraft.yaml root and resolving LP: #1794531. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged: extensions can now add YAML snippets to the root of snapcraft.yaml, resolving LP: #1794531. Approved by a reviewer, passed CI with 100% diff coverage, and modified three files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Extensions can now add YAML snippets to the root of snapcraft.yaml, resolving LP: #1794531. Previously limited to apps, parts, and new parts. Codecov reports 100% diff coverage. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1794531 Extensions need ability to alter root properties | snapcraft (launchpad) | closed | Resolved by snapcore/snapcraft PR #2347, merged as commit 482bffb1c, adding extension support for root snapcraft.yaml properties. | |
| #1797631 Remove root extensions property | snapcraft (launchpad) | closed | Removed root-level extensions support in snapcore/snapcraft#2348, merged as commit 71959b3ca. | |
| #3781 extensions: refactor | snapcraft | merged | Merged in snapcraft#3781 via commit 986a9895b (merge 52155ff01), centralizing extension checks in the base class to prevent future cyclic imports. | |
| #2349 extensions: use extension docstring | snapcraft | merged | Merged PR #2349 in commit 6e7e30ee1, making snapcraft extensions display extension-specific docstrings and resolving LP #1797655. | |
| #4110 extensions: parse snapcraft.yaml before expanding extensions | snapcraft | merged | Merged #4110 (commit 51ca1524b): expand-extensions now parses snapcraft.yaml before expansion, fixing valid core22 files that use parse-info and advanced grammar keywords. | |
| #3679 Expand extensions | snapcraft | merged | Merged PR snapcore/snapcraft#3679 via commit 07a8d695c, expanding extensions for CRAFT-948 in the snapcraft/7.0 branch. | |
| #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. | |
| #2348 extensions: remove root extensions | snapcraft | merged | Root extension declarations were removed in merged PR #2348 (commit 71959b3ca), deferring application semantics and resolving LP #1797631. | |
| #3197 experimental extension support | snapcraft | merged | Merged PR #3197 (commit be00472e5) added experimental extension support to snapcraft, landed after its prerequisite PR #3196 (c1a41fd84) which unset false boolean CLI flags. |