feat(snap_config): add snap_config model and utilities
Metadata
Current evaluation
Merged snap_config model and utilities into craft-application. Imported from snapcraft, updated to coding standards, and made generic. Approved by two reviewers, passed CI, and initiates a three-part series for build mode configuration.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the guidelines for contributing?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `tox`?
-----
This is the first of 3 commits for setting the build mode:
- a PR to import `snap_config` (this PR)
- a PR to determine which provider to use
- a PR to determine whether to run on the host or in a provider)
Inside this PR are 2 commits:
- import the `snap_config` model and utilities from snapcraft unmodified
- updates them to `craft-application` coding standards and make the code generic
The `snap-helpers` package is a required library but applications are not required to run as a snap or have a snap config. I will ensure this behavior in the next PR where I will use the model.
(CRAFT-2477)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged snap_config model and utilities into craft-application. Imported from snapcraft, updated to coding standards, and made generic. Approved by two reviewers, passed CI, and initiates a three-part series for build mode configuration. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the snap_config model and utilities from snapcraft into craft-application, adapting them to project coding standards. This is the first of three planned commits for build mode configuration. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3898 config: add snap config model | snapcraft | merged | Merged into main following reviewer approval and passing CI. Adds a snap config model to parse data set via snap set snapcraft key=value, mirroring charmcraft. The change modifies 11 files with 317 additions. | |
| #351 feat: add a default snapcraft.yaml | starbase | open | Adds a default snapcraft.yaml (+54 lines, 1 file) so users can build a snap via the craft-application flow. Approved by 1 reviewer but 8 review comments remain unresolved; last activity 462 days ago. | |
| #3893 config: add snap config model | snapcraft | closed | Closed by author. The snap config model was abandoned and superseded by a new implementation leveraging the snaphelpers library for better configuration handling. | |
| #3748 parts: define variables and expand them in snapcraft.yaml | snapcraft | merged | Merged after approval and passing CI. Adds global and step-specific SNAPCRAFT_* variables for snapcraft.yaml and lifecycle execution, extending CRAFT_* support. A reviewer requested a spread test rerun for 22.04. | |
| #4672 Enable Snapcraft plugins in craft-application codepath | snapcraft | merged | Merged via rebase merge after two approvals and passing CI. Registers Snapcraft plugins in the craft-application codepath and adds confinement and base variables to the lifecycle for plugin usage. | |
| #4 snap: introduce initial snap packaging (CRAFT-578) | rockcraft | merged | Merged initial snap packaging implementation (CRAFT-578). Approved by one reviewer, passed CI checks, and added 86 lines across three files. | |
| #4456 feat(cli): add craft-application scaffolding | snapcraft | merged | Merged. Adds craft-application scaffolding to snapcraft, migrating to the Project model and adding an Application class and CLI. Commands raise ClassicFallback to run existing code. Merged despite a flaky Appveyor test. |