project_loader: process stage package grammar
Metadata
Current evaluation
Merged #1509 in commit 82e27706d, moving stage-package grammar processing from pluginhandler into project_loader while retaining raw YAML for state tracking.
Resolution: closed resolved
Reason: The PR was merged as commit 82e27706d, advancing #1492 by encapsulating stage-package grammar processing in project_loader. Follow-up PR #1511 then added project-loader grammar support for build-packages.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This PR makes more progress on #1492 by extracting the processing of the stage package grammar from the pluginhandler and placing it into the project_loader. This is done by creating an encapsulating grammar processor dedicated to the grammar in the part (with the vision of adding grammar support to more part properties in the future, e.g. `source`). The pluginhandler then uses this processor to extract grammar-powered properties, leaving the raw YAML alone for state tracking.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #1509 in commit 82e27706d, moving stage-package grammar processing from pluginhandler into project_loader while retaining raw YAML for state tracking. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #1509 (82e27706d), moving stage package grammar processing from pluginhandler to project_loader with a dedicated processor while preserving raw YAML for state tracking. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in snapcraft#1509, moving stage-package grammar processing from pluginhandler to project_loader with a dedicated processor while preserving raw YAML for state tracking. | |
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged relocation of stage package grammar processing from the pluginhandler to the project_loader. A dedicated grammar processor now handles part grammar, enabling future property support while preserving raw YAML for state tracking. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#1492
(confidence 100%)
The PR body identifies #1492 as the broader advanced build-packages filtering effort.
-
Related To:
snapcraft#1511
(confidence 99%)
Merged follow-up added build-packages grammar support after this prerequisite change.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1500 grammar: move into project_loader | snapcraft | merged | Merged as ed332f0d4, moving the stage-package grammar package from snapcraft/internal/pluginhandler into project_loader — a pure relocation, part of the #1492 effort to make grammar reusable across snapcraft.yaml. | |
| #1511 project_loader: support grammar on build-packages | snapcraft | merged | Merged as commit 4674a5738, adding grammar support for build-packages globally and per part after prerequisite #1509. | |
| #1059 pluginhandler: support more complex stage-packages. | snapcraft | merged | Merged PR #1059 in commit 9e00ffc15, adding on/try/else stage-package grammar with architecture selectors, optional packages, and fallbacks; resolved LP #1637282. | |
| #1504 project loader: refactor into package | snapcraft | merged | Merged in snapcraft#1504 via commit 80630158d, creating a project-loader package and moving PartsConfig, schema validation, and loader errors into it. |