← Back to issue list

Support Snapcraft advanced grammar in plugin parameters?

View original Github issue

Metadata

Project
craft-application
Number
#985
Type
issue
State
open
Author
brlin-tw
Labels
Type: Enhancement
Created
Updated
Closed
—

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