refactor: use humanize_list from craft-application
Metadata
Current evaluation
Merged #6432 via commit 87c89a9b9, replacing Snapcraft’s local humanize_list with craft-application’s implementation after ty 0.0.83 complaints.
Resolution: closed resolved
Reason: PR #6432 was approved and merged. Commit 87c89a9b9 removed the local helper and updated Snapcraft to import humanize_list from craft-application.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Ty 0.0.83 started complaining about snapcraft's `humanize_list()` function. Rather than fix it, I switched to craft-app's [`humanize_list()`](https://github.com/canonical/craft-application/blob/cbd303093570acff7b62c7bd09952b8760237edf/craft_application/util/string.py#L39).
---
- [x] I've followed the [contribution guidelines](https://github.com/canonical/snapcraft/blob/main/CONTRIBUTING.md).
- [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [x] I've successfully run `make lint && make test`.
- [ ] I've added or updated any relevant documentation.
- [ ] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing.
- [ ] I've updated the relevant release notes.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #6432 via commit 87c89a9b9, replacing Snapcraft’s local humanize_list with craft-application’s implementation after ty 0.0.83 complaints. | |
| stealth/space-bunny-alpha | — | closed resolved | Replaced Snapcraft’s local humanize_list with craft-application’s implementation in #6432 to address ty 0.0.83 complaints; approved by two reviewers. | |
| gemini-3.8-flash |
Impact:
15
Quick Win:
6
Complexity:
15
Confidence:
90
Actionability:
45
|
keep open | Refactors snapcraft to import humanize_list from craft-application instead of maintaining an internal implementation, with pending CI checks and failures. |
Update history
| Date | Change |
|---|---|
| closed | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #183 Include humanize_list function as a utility | craft-cli | open | humanize_list and unit tests now exist in craft-cli, but downstream craft-app migration remains unresolved; the humanize-based craft-parts experiment was closed unmerged. | |
| #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). | |
| #3701 utils: port humanize_list from Snapcraft legacy | snapcraft | merged | Merged PR #3701 into snapcraft/7.0 (d905e128c), porting humanize_list from legacy, making no functional change, and updating tests to pytest. | |
| #997 experimental: use humanize for lists | craft-parts | closed | PR #997 was closed unmerged after prolonged inactivity; the proposed switch from craft-parts' humanize_list to humanize.natural_list was abandoned. |