commands: add clean command
Metadata
Current evaluation
Merged rockcraft clean command with stubbed TODOs for cleaning parts, destructive mode, and provider environments. Establishes groundwork for refactoring clean_project_environments(). Approved and merged despite a documentation request.
Suggested action: —
No scores available.
Issue body
- [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
#### Overview
Add command `rockcraft clean` with stubbed out TODOs. This lays down groundwork needed to refactor `clean_project_environments()`.
There are 3 ways the `clean` command is used:
#### 1. `rockcraft clean <part>`
- cleans a specific part
- added as a TODO to be implemented later
#### 2. `rockcraft clean --destructive-mode`
- cleans the local build environment
- added as a TODO, but users shouldn't encouter this, since `destructive mode` is also unsupported and labeled with a TODO
#### 3. `rockcraft clean`
- cleans a provider environment
- added as a TODO, but will be supported in my next PR
(CRAFT-1394)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged rockcraft clean command with stubbed TODOs for cleaning parts, destructive mode, and provider environments. Establishes groundwork for refactoring clean_project_environments(). Approved and merged despite a documentation request. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the rockcraft clean command featuring stubbed TODOs for part, destructive mode, and provider environment cleanup. The reviewer requested documentation for future PRs to avoid merging undocumented features. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the rockcraft clean command with stubbed TODOs. Reviewer requested documentation for future PRs to prevent backlog, but the code was accepted to establish groundwork for refactoring clean_project_environments(). |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #410 providers: introduce clean_project_environments() (CRAFT-314) | charmcraft | merged | Merged to introduce clean_project_environments(), providing an interface for an upcoming clean command that removes all environments for a given project. Approved by two reviewers, adding 106 lines across two files. | |
| #101 docs for `rockcraft clean` | rockcraft | closed | Documentation for the rockcraft clean command was requested alongside a pull request. The contributor committed to adding the missing docs, and the ticket was closed pending completion. | |
| #105 docs: add commands | rockcraft | merged | Merged documentation adding rockcraft commands, resolving issue #101. After initial review requested changes, the maintainer coordinated with reviewers and merged the first draft. | |
| #3680 commands, parts: add clean command | snapcraft | merged | Added a clean command to remove parts and their build instances when no parts are specified, excluding destructive or managed modes. Merged after approval, passing CI, and rebasing onto snapcraft/7.0. |