refactor(cli): add scaffolding for craft-application
Metadata
Current evaluation
PR #353 merged into feature/craft-application as 5cff2f1c, adding craft-application scaffolding with a legacy-runner fallback.
Resolution: closed resolved
Reason: Merged PR #353 delivered the Application/Project scaffolding in commit 5cff2f1c. PR #395 later integrated the feature branch into main.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Since we're doing the migration of the commands/functionalities by steps, this commit adds the basic craft-application structures (application and project) with a fallback to the original "legacy" code. Specifically, the application's entrypoint goes to Application.run() but then immediately falls back to the legacy runner because RockcraftApplication has no commands.
Future commits can then add each command, one at a time.
Note that the PR is targeting a new "work" branch `feature/craft-application`, so merging it wouldn't break anything yet
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | PR #353 merged into feature/craft-application as 5cff2f1c, adding craft-application scaffolding with a legacy-runner fallback. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged into feature/craft-application, adding Application/Project scaffolding and a legacy-runner fallback for incremental command migration. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged into feature/craft-application, adding craft-application Application/Project scaffolding and a legacy-runner fallback to enable incremental command migration. | |
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into the feature/craft-application branch. Adds craft-application scaffolding with a legacy CLI fallback for incremental migration. Approved despite a docs build failure, pending CI branch naming fixes. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/rockcraft#354
(confidence 99%)
Follow-up PR migrating the pack command to the new craft-application runner.
-
Related To:
canonical/rockcraft#395
(confidence 99%)
Later merged the feature/craft-application branch into main, completing the broader migration.
-
Related To:
canonical/rockcraft#366
(confidence 95%)
Follow-up PR migrating lifecycle commands as part of the same incremental effort.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4456 feat(cli): add craft-application scaffolding | snapcraft | merged | Merged #4456 added craft-application Project/Application scaffolding and ClassicFallback CLI routing; initial support was integrated by #4560 at commit 98550856e. | |
| #4449 [WIP] feat: craft-application basic scaffolding | snapcraft | closed | Closed unmerged as WIP; initial Craft Application support later landed via #4560 (commit 98550856e). | |
| #395 refactor: merge feature/craft-application | rockcraft | merged | Merged PR #395 into main, completing the breaking migration to craft-application 1.0.0 and resolving seven linked migration and command issues. | |
| #6 base: craft-application prototype | craft-application | merged | Merged the initial craft-application prototype in canonical/craft-application#6, changing 21 files (+1029/-204); fuller tests were deferred to a follow-up PR. | |
| #856 refactor: use craft-application 5 | rockcraft | merged | Merged as commit 2139bcd2: refactored Rockcraft onto craft-application 5 (49 files, +959/-915) after approval from 3 reviewers; later bumped to craft-application 6.0 via #1027. | |
| #4682 refactor(app): use more code from craft-app | snapcraft | merged | Merged as c9b6941d4, replacing Snapcraft-specific application logic with craft-app functionality (36 additions and 49 deletions across three files). | |
| #1399 feat: craft-application rebase | charmcraft | merged | Merged PR #1399 (commit 3ba803d1) rebased Charmcraft onto craft-application for CRAFT-2239, a 109-file rewrite of the CLI foundation; cmatsuoka approved merging with remaining issues deferred to follow-up PRs. | |
| #1520 refactor: remove old "init" command implementation | charmcraft | merged | Merged PR #1520 in commit 97fa9229, removing 248 lines of obsolete init command code after the craft-application transition. | |
| #2371 build(deps): update dependency craft-application to v5 (main) - autoclosed | charmcraft | closed | Renovate PR #2371 (craft-application ~=4.8 -> ~=5.5) was closed unmerged and autoclosed; maintainer @upils noted it was superseded by the hand-written #2360, merged in commit 5e0dd360. | |
| #354 refactor: use craft-application for "pack" | rockcraft | merged | Merged #354 routed rockcraft pack through the CraftApplication runner (commit 8d74e452); its feature branch was later integrated into main by #395. |