← Back to issue list

extensions: add no_extension entry for parts

View original Github issue

Metadata

Project
snapcraft
Number
#4209
Type
pull request
State
closed
Author
artivis
Labels
—
Created
Updated
Closed

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.
72%
#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.
70%