mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-02-26 16:30:50 +01:00
Fix uninstallable flag after discarding changes
After uninstalling a plugin (without restart) and then discarding the changes, plugins which are required for the plugin can be uninstalled even if the uninstallation was reverted. This was caused by not updating the dependency relations between the plugins when an uninstallation has been canceled. Therefore, the updating step is added.
This commit is contained in:
@@ -390,6 +390,7 @@ public class DefaultPluginManager implements PluginManager {
|
||||
PluginPermissions.write().check();
|
||||
pendingUninstallQueue.forEach(PendingPluginUninstallation::cancel);
|
||||
pendingInstallQueue.forEach(PendingPluginInstallation::cancel);
|
||||
pendingUninstallQueue.forEach(pendingPluginUninstallation -> dependencyTracker.addInstalled(pendingPluginUninstallation.getPlugin().getDescriptor()));
|
||||
pendingUninstallQueue.clear();
|
||||
pendingInstallQueue.clear();
|
||||
updateMayUninstallFlag();
|
||||
|
||||
@@ -53,4 +53,8 @@ class PendingPluginUninstallation {
|
||||
throw new PluginFailedToCancelInstallationException("failed to cancel uninstallation", name, ex);
|
||||
}
|
||||
}
|
||||
|
||||
InstalledPlugin getPlugin() {
|
||||
return plugin;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user