canonical / canonical/craft-application

Refactor how managed mode and provider are determined

Open
#262 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.