grammar: move into project_loader
Metadata
Current evaluation
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.
Suggested action: —
No scores available.
Issue body
This PR makes progress on #1492 by extracting the stage package grammar from the pluginhandler and placing it in project_loader. This is the first step toward making the grammar more generic and used in more of the YAML. Other than moving the grammar around (and the small import tweaks necessary to continue working with slightly more generic names) this PR makes no changes.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after relocating the stage package grammar from pluginhandler to project_loader. Addressed naming feedback and fixed a missing setup.py entry. The refactor improves separation of concerns and prepares the grammar for broader YAML schema usage. |
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. | |
| #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. | |
| #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. | |
| #1504 project loader: refactor into package | snapcraft | merged | Merged a refactor moving the project loader into a dedicated package, relocating PartsConfig logic and the schema validator, and introducing a base error class. Modified 16 files to advance issue #1492. |