← Back to issue list

project_loader: support grammar on build-packages

View original Github issue

Metadata

Project
snapcraft
Number
#1511
Type
pull request
State
merged
Author
kyrofa
Labels
Created
Updated
Closed

Current evaluation

Merged: Added grammar support for build-packages at part and global levels. Approved by one reviewer, passed CI, and modified 19 files. Builds on issue #1492 and depends on PR #1509.

Suggested action:

No scores available.

Issue body

Currently Snapcraft only supports grammar-powered stage-packages. This PR makes another good chunk of progress on #1492 by adding support for grammar-powered build-packages as well, both at the part-level and global. Note that this PR depends upon #1509, but was proposed anyway as I'm leaving for a few days. It also may give the other PR more context.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged: Added grammar support for build-packages at part and global levels. Approved by one reviewer, passed CI, and modified 19 files. Builds on issue #1492 and depends on PR #1509.
qwen3.6-35b-a3b-mtp-q6 Merged. Added grammar support for build-packages at part and global levels in Snapcraft. Advances issue #1492 and depends on PR #1509. Maintainer approved and suggested future refactoring for build tools processing.
qwen3.6-35b-a3b-mtp-q6 Merged implementation adding grammar support for build-packages at part and global levels. Extends existing stage-package grammar functionality. Relies on PR #1509. Maintainer approved and noted future refactoring opportunities for build tools processing.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1509 project_loader: process stage package grammar snapcraft merged Merged. Moved stage package grammar processing to project_loader, creating a dedicated processor for part properties. Raw YAML is preserved for state tracking. Approved by one reviewer, passed CI, and modified 26 files.
75%
#3350 project loader, schema: add advanced grammar support for build-environment snapcraft merged Merged into master. Adds advanced grammar support for build-environment to the project loader and schema. Approved by one reviewer with 90.9% diff coverage. A minor plainbox unit test failure was noted but did not block the merge.
75%
#1059 pluginhandler: support more complex stage-packages. snapcraft merged Merged. Adds a complex grammar for stage-packages using on and try/else clauses to filter packages by selectors like target architecture, resolving LP #1637282. Approved by reviewer and passed CI.
73%
#3362 project loader grammar: do not transform build-packages snapcraft merged Merged a maintainer change to the project loader grammar that stops transforming build-packages. This prevents architecture conflicts and resolves undocumented behavior while preserving compatibility with explicit target-arch configurations.
72%
#184 build: add craft_grammar_docs sub-package craft-grammar merged Merged the addition of the craft_grammar_docs sub-package to the build system. Approved by two reviewers and cleared CI checks. The change updates four files with minimal build configuration adjustments.
70%
#3360 project loader: advanced grammar support for lists snapcraft merged Merged after approval and passing CI. The update refactors the project loader to process lists instead of sets, preserving ordering and supporting non-string primitives. Changes include GrammarProcessor updates, part grammar adjustments, and corresponding test modifications.
70%