← 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

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.
81%
#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.
75%
#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.
74%
#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.
74%
#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.
74%
#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.
74%
#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.
74%
#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.
74%
#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.
74%
#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.
73%