Add support to upgrade user-defined linuxdeploy plugins
- 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
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