grammar: move into project_loader
Metadata
Current evaluation
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.
Resolution: closed resolved
Reason: PR #1500 was merged into master as commit ed332f0d4, relocating snapcraft/internal/pluginhandler/stage_package_grammar to snapcraft/internal/project_loader/grammar (plus setup.py and import tweaks). It was rebased on top of the project_loader package refactor in PR #1504 (80630158d), as requested in review.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | 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. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #1500 (ed332f0d4), moving stage-package grammar from pluginhandler into project_loader as groundwork for reusable YAML grammar. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged the stage package grammar extraction from pluginhandler into the refactored project_loader package. This structural change improves separation of concerns and establishes a generic foundation for broader YAML grammar usage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the stage package grammar extraction from pluginhandler to project_loader. After fixing a setup.py path error, the author refactored project_loader into a package and relocated the grammar there for improved separation of concerns. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#1492
(confidence 95%)
Tracking issue this PR explicitly makes progress on (generic grammar for more of the YAML, starting with build-packages, then source).
-
Related To:
snapcraft#1504
(confidence 95%)
Prior PR #1504 (commit 80630158d) refactored project_loader into a package; this PR was rebased on it so the grammar could live there.
-
Superseded By:
snapcraft#1509
(confidence 70%)
Follow-up PR #1509 (commit 82e27706d) actually wired the relocated grammar into project_loader to process stage-packages, completing the functional half of this refactor.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1509 project_loader: process stage package grammar | snapcraft | merged | Merged #1509 in commit 82e27706d, moving stage-package grammar processing from pluginhandler into project_loader while retaining raw YAML for state tracking. | |
| #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. | |
| #3 grammar: import from Snapcraft (CRAFT-818) | craft-grammar | merged | Merged PR #3 (69a12dc) imported the grammar from Snapcraft, updated lint/type tooling, and decoupled GrammarProcessor from ProjectOptions. | |
| #3642 grammar: migrate to external package (CRAFT-819) | snapcraft | merged | Merged: grammar plugin moved out of the snapcraft tree into the external craft-grammar package (CRAFT-819), deleting ~2,439 lines. Merge commit 943d130c2. |