refactor(cli): add scaffolding for craft-application
Metadata
Current evaluation
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.
Suggested action: —
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 |
|---|---|---|---|---|
| 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into feature/craft-application, adding craft-application scaffolding with a fallback to legacy CLI code. Approved by @sergiusens despite a CI branch naming conflict, establishing a foundation for incremental command migration. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #4560 feat(craft-application): initial support | snapcraft | merged | Merged initial craft-application support, acting as a fallback to existing logic. Approved by two reviewers with no unresolved comments. Changes affect 40 files, adding 887 lines and removing 197. Additional features are planned. | |
| #395 refactor: merge feature/craft-application | rockcraft | merged | Merged feature/craft-application into main, completing Rockcraft's migration to craft-application 1.0.0. The refactoring modified 99 files, resolved multiple issues, and introduced breaking changes. Approved by two reviewers with passing CI. | |
| #4545 Merge feature/craft-application to main | snapcraft | closed | Merged feature/craft-application into main after scaffolding was finalized and tests passed. The branch was integrated via pull request #4560 on February 7, 2024. | |
| #856 refactor: use craft-application 5 | rockcraft | merged | Merged after three reviewers approved. The change refactored the codebase to adopt craft-application version 5, updating 49 files with 959 additions and 915 deletions. All checks passed. | |
| #1399 feat: craft-application rebase | charmcraft | merged | Merged the craft-application rebase, altering 109 files with 7,783 additions and 755 deletions. Approved by two reviewers, the update was deemed functional for integration, with remaining issues deferred to future pull requests. | |
| #1520 refactor: remove old "init" command implementation | charmcraft | merged | Merged a refactoring PR removing the old "init" command after the craft-application transition. Approved by two reviewers with passing CI, the change modified four files, adding one line and deleting 248. | |
| #5349 refactor: rebase onto craft-application 5 | snapcraft | merged | Merged after two approvals. Rebases the codebase onto craft-application 5, updating 45 files and potentially resolving issue #5083. Aligns with related upstream craft-application fixes. | |
| #4449 [WIP] feat: craft-application basic scaffolding | snapcraft | closed | Closed without merging, the WIP branch for craft-application scaffolding received no reviews and was abandoned after the author handed it off to another contributor. | |
| #4830 refactor: migrate commands to craft-application | snapcraft | merged | Merged following three approvals and passing CI. Migrates remaining commands to core24/craft-application, updating snapcraft init to generate core24 files, correcting list-plugins output, and refreshing command docs. Resolves #4742. |