Support Snapcraft advanced grammar in plugin parameters?
Metadata
Current evaluation
Enhancement to apply advanced grammar to dynamically named plugin parameters; acknowledged as valid, clearly reproduced, and still awaiting implementation and tests.
Suggested action: keep open
Reason: @lengau moved the report to craft-application because it applies grammar, and @cmatsuoka said there is no conceptual blocker, though plugin-parameter handling requires extra work. The YAML and validation errors provide a solid reproducer, while process_part currently processes only a fixed grammar-keyword list, so cmake-parameters remains unsupported.
Evaluated by: mr-cal-bot
Impact:
48
Quick Win:
16
Complexity:
57
Confidence:
94
Actionability:
76
Issue body
### What needs to get done
Not exactly sure as the implementation of advanced grammar seems to be in the Snapcraft project, will that be reusable here?
### Why it needs to get done
Hello, I would like to implement the following Snapcraft part definition:
```yaml
parts:
main:
plugin: cmake
cmake-parameters:
- to armhf:
- -DGGML_VULKAN=OFF
- else:
- -DGGML_VULKAN=ON
```
However this errors with:
```text
$ snapcraft pack --debug
Bad snapcraft.yaml content:
- input should be a valid string (in field 'parts.main.cmake-parameters[10]')
- input should be a valid string (in field 'parts.main.cmake-parameters[11]')
```
as (AFAICT) plugin parameters do not have advanced grammar support.
This feature is especially helpful in Snapcraft as architecture-specific build configurations are quite common.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
48
Quick Win:
16
Complexity:
57
Confidence:
94
Actionability:
76
|
keep open | Enhancement to apply advanced grammar to dynamically named plugin parameters; acknowledged as valid, clearly reproduced, and still awaiting implementation and tests. | |
| qwen/qwen3.6-35b-a3b |
Impact:
40
Quick Win:
14
Complexity:
50
Confidence:
70
Actionability:
70
|
keep open | Feature request to support advanced grammar (conditional logic) in plugin-specific parameters like cmake-parameters. Open, triaged, moved to craft-application. | |
| qwen/qwen3.8-27b |
Impact:
45
Quick Win:
16
Staleness:
65
Complexity:
65
Confidence:
80
Support Request:
10
|
keep open | Feature request to support advanced grammar (on/to/else) in plugin parameters like cmake-parameters for arch-specific build flags. Triaged by maintainers in Jan 2026, confirmed valid but requiring extra work; no progress since. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
60
Complexity:
45
Confidence:
85
Support Request:
10
|
keep open | Request to enable Snapcraft advanced grammar for plugin parameters like cmake-parameters. Currently fails validation. Maintainers acknowledged the enhancement and moved it to craft-application for implementation review. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
55
Complexity:
40
Confidence:
90
Support Request:
5
|
keep open | Request to add advanced grammar support to Snapcraft plugin parameters for architecture-specific build configs. Currently pending implementation work in craft-application. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#6064
(confidence 98%)
The broader open issue tracks extending advanced grammar beyond currently selected keys, including plugin parameters.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #6064 Extend advanced grammer to all keys of snapcraft | snapcraft | open | Advanced grammar remains limited to selected keys, limiting clean architecture-specific apps, part omission, and plugin parameters. The feature is untriaged; plugin-parameter support is tracked in craft-application #985. | |
| #1684 Vendor grammar logic into snapcraft | snapcraft | closed | Advanced grammar was extracted to craft-grammar and adopted by Snapcraft in #3642 (merge 943d130c2), superseding the planned in-tree refactor. | |
| #5995 Documentation doesn't describe which keys can use advanced grammar | snapcraft | open | Documentation gap: snapcraft's advanced grammar reference page doesn't list which keys support it. A volunteer (@caglarkc) has been assigned by a maintainer (@mr-cal) to document the supported keys. |