canonical / canonical/craft-application
Refactor how managed mode and provider are determined
- Dominant language
- Python
- Stars
- 14
- Forks
- 29
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 12
Description
### What needs to get done
Snapcraft determines if it should run in managed mode or not and which provider to use. This is done in 2 discrete places in the codebase. This was upstreamed in https://github.com/canonical/craft-application/pull/242.
To make the code more readable and maintainable in craft-application, this code could be combined and done earlier in craft-application's execution.
Source: https://github.com/canonical/craft-application/pull/242#discussion_r1507992182
### Why it needs to get done
To reduce code debt
Contributor guide
Research direction
Start by reading the linked craft-application pull request, especially discussion comment 1507992182, then locate the two execution points where managed mode and the provider are currently determined. Combine that determination earlier in craft-application, and confirm the refactor preserves the existing behavior while reducing the duplicated decision flow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100