beeware / beeware/briefcase

Add support to upgrade user-defined linuxdeploy plugins

Open
#1,297 1 comment 0 reactions 0 assignees View on GitHub
enhancement linux not quite right
Dominant language
Python
Stars
3.3k
Forks
549
Avg merge
1d 4h
Merged PRs (30d)
40

Description

### What is the problem or limitation you are having?

Briefcase's Upgrade command does not support upgrading user-defined linuxdeploy plugins. This was [discussed](https://github.com/beeware/briefcase/pull/1093#issuecomment-1528498806) in #1093.

### Describe the solution you'd like

For user-defined URL-based plugins, the cached version of the plugin should be deleted in Briefcase's data directory. Notably, when the Upgrade command runs, Briefcase doesn't actually "know" what any of these files are....so, they cannot be differentiated for users to delete individually and must be deleted en masse.

For user-defined file-based plugins, the situation is more difficult since the local file is copied in to the app's build directory when the file is not already present there. So, in current form, the plugin files would need to be deleted within the build.

### Describe alternatives you've considered

For URL-based plugins, manually remove them from the Briefcase data directory.

For file-based plugins, manually remove them from the app's build directory.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start at Briefcase's Upgrade command and trace how URL-based plugins are cached in the Briefcase data directory and how file-based plugins are copied into the app build directory. Done means both plugin types are removed or refreshed appropriately during an upgrade, with tests covering the two cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
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.