← Back to issue list

refactor(cli): add scaffolding for craft-application

View original Github issue

Metadata

Project
rockcraft
Number
#353
Type
pull request
State
merged
Author
tigarmo
Labels
—
Created
Updated
Closed

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.
82%
#4449 [WIP] feat: craft-application basic scaffolding snapcraft closed Closed unmerged as WIP; initial Craft Application support later landed via #4560 (commit 98550856e).
76%
#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.
75%
#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.
73%
#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.
73%
#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).
72%
#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.
72%
#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.
72%
#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.
71%
#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.
71%