feat: pack components
Metadata
Current evaluation
Merged feature adding snap pack support for components. Components are auto-named and placed in the target directory, resolving issue 4467. Approved by two reviewers, passed CI, and modified six files with 313 additions.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint`?
- [x] Have you successfully run `pytest tests/unit`?
-----
Pack components with `snap pack`.
Snaps can have custom filenames using `--output` (i.e. `snapcraft pack --output my-dir/my-snap.snap`)
However, components cannot. Their names are determined by `snap pack`. They will still be placed in the same output directory (`my-dir` in the example above).
Fixes #4467
(CRAFT-2313)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged feature adding snap pack support for components. Components are auto-named and placed in the target directory, resolving issue 4467. Approved by two reviewers, passed CI, and modified six files with 313 additions. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Implemented snap pack support for components, automatically naming them and placing them in the specified output directory. Resolves #4467. Unrelated pyright check failure was addressed in a separate PR. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Adds --output support to snap pack for generating custom component filenames, resolving #4467. Tests passed coverage checks. An unrelated pyright error was fixed in a follow-up PR. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4701 feat: upload snaps with components | snapcraft | merged | Merged, implementing CLI support to upload snaps with components using the --component flag. Approved by two reviewers, passed CI, and resolved issue #4687. | |
| #4794 feat: allow packing a directory | snapcraft | merged | Merged to restore snapcraft pack directory functionality after a snapcraft 8.2 regression. Approved by two reviewers, passed CI, and resolved issue #4769. | |
| #4492 feat(projects): add components model | snapcraft | merged | Merged the components model addition to the projects module, resolving issue #4464. Approved by three reviewers, passed CI, and modified six files with 379 additions and 34 deletions. | |
| #4722 feat: package component hooks for core22 | snapcraft | merged | Merged to enable packaging of component hooks for core22. Implementation was completed in #4717; this change activates the feature. Approved by two reviewers, passed CI, and modified four files. |