feat(cli): add craft-application scaffolding
Metadata
Current evaluation
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.
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`?
-----
Adds `craft-application` scaffolding to snapcraft. This includes migrating to the `Project` model, adding an `Application` class, and CLI handling.
All commands are unimplemented, raise a `ClassicFallback` error, and execute the existing snapcraft code.
This has the same scope and intent as https://github.com/canonical/rockcraft/pull/353.
This is based on @lengau's work in https://github.com/snapcore/snapcraft/pull/4449, which includes this work and more (such as the implementation of lifecycle commands).
(CRAFT-2238)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged craft-application scaffolding into snapcraft, adding the Project model, Application class, and CLI handling. Commands fallback to existing behavior. Merged despite a flaky Appveyor test, as it passed on the branch and targets a feature branch. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged craft-application scaffolding into snapcraft, introducing the Project model, Application class, and CLI handling. Commands raise ClassicFallback to delegate to existing code. Merged despite a flaky Appveyor test that passed on the branch. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #353 refactor(cli): add scaffolding for craft-application | rockcraft | merged | Merged into feature/craft-application branch. Adds basic craft-application scaffolding with a fallback to legacy code, enabling incremental command migration without breaking existing functionality. Approved and passed CI. | |
| #239 feat(snap_config): add snap_config model and utilities | craft-application | merged | 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. |