extensions: add no_extension entry for parts
Metadata
Current evaluation
PR #4209 proposed a `no_extension` parts entry to opt parts out of extensions. Maintainer sergiusens closed it on 2023-07-12 in favor of #4271 (plugin-aware part_snippet, merged as 4c6b1fdc6).
Resolution: closed superseded
Reason: Maintainer sergiusens commented "closing in favor of #4271", which made extension part_snippet values plugin-aware and merged as commit 4c6b1fdc6 (closing #4255). The `no_extension` entry was never adopted.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Add a new parts entry, `no_extension`, that prevent extensions from being applied to a part that sets this new entry to true.
Extensions' `part_snippet` are applied to all parts systematically. However in a multi-part snap, this behavior can cause issues, e.g. if the extension defines entries that are specific to a given plugin resulting in an `Additional properties are not allowed` error. This PR introduces a new entry that allows for explicitely shielding a part from having *any* extension applied to it, e.g. see [here](https://github.com/snapcore/snapcraft/compare/main...artivis:feature/no_extension?expand=1#diff-cf7cd4f4450e2eb36d0a44171d9ea8dae69312340c8b8901f2591a41b9f11e07R522).
- [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] Have you successfully run `make lint`?
- [x] Have you successfully run `pytest tests/unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed superseded | PR #4209 proposed a `no_extension` parts entry to opt parts out of extensions. Maintainer sergiusens closed it on 2023-07-12 in favor of #4271 (plugin-aware part_snippet, merged as 4c6b1fdc6). | |
| stealth/space-bunny-alpha | — | closed superseded | Closed in favor of #4271, which added plugin-aware extension part_snippet values and merged as commit 4c6b1fdc6; the proposed no_extension entry was not adopted. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed and superseded by PR #4271. The proposed no_extension part entry was rejected in favor of making extensions plugin-aware instead. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | A no_extension entry to block extensions on parts was closed and superseded by PR 4271. Maintainers preferred a plugin-aware extension approach instead. |
Update history
No update history recorded yet.
Related work
-
Superseded By:
canonical/snapcraft#4271
(confidence 99%)
Explicitly cited in the closing comment; merged as commit 4c6b1fdc6
-
Duplicate Of:
canonical/snapcraft#4255
(confidence 70%)
The underlying 'Additional properties are not allowed' report fixed by #4271
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4271 extensions: plugin aware part_snippet values | snapcraft | merged | Merged PR #4271 made extension part_snippet values plugin-aware while preserving legacy behavior through an optional base-class API; commit 4c6b1fdc6 closes #4255. | |
| #4255 Make extensions part plugin aware | snapcraft | closed | Extensions became plugin-aware through plugin-specific part_snippet values while preserving legacy behavior. Fixed by merged PR #4271 in commit 4c6b1fdc6. |