Background process should download the plugins belonging to the edition to be installed.
Sonarsource closed source plugins no longer listed in the license should be removed at next startup.
When the process finishes (successfully or not), the status of the automatic installation should be updated.
To provide resiliency and to not have update center display the ongoing operations on those plugins and allow the user cancel operations on the edition's plugins:
- plugins should be downloaded to a temp directory
- if all process are downloaded, then:
- new_edition directory should be cleaned
- downloaded plugins should be moved to an new_edition/installed_plugins directory
- downloaded plugins should be kept with a temporary name until everything is successfully downloaded so that the changes are done as atomically as possible.
- plugins to remove should be moved from extensions/plugins to new_edition/removed_plugins directory