mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-12 16:35:45 +01:00
Fetch exception when uninstall file could not be written
This commit is contained in:
@@ -193,9 +193,14 @@ public class DefaultPluginManager implements PluginManager {
|
||||
doThrow().violation("plugin is a core plugin and cannot be uninstalled").when(installed.isCore());
|
||||
|
||||
dependencyTracker.removeInstalled(installed.getDescriptor());
|
||||
installed.setMarkedForUninstall(true);
|
||||
|
||||
createMarkerFile(installed, InstalledPlugin.UNINSTALL_MARKER_FILENAME);
|
||||
try {
|
||||
createMarkerFile(installed, InstalledPlugin.UNINSTALL_MARKER_FILENAME);
|
||||
installed.setMarkedForUninstall(true);
|
||||
} catch (RuntimeException e) {
|
||||
dependencyTracker.addInstalled(installed.getDescriptor());
|
||||
throw e;
|
||||
}
|
||||
|
||||
if (restartAfterInstallation) {
|
||||
restart("plugin installation");
|
||||
|
||||
@@ -33,6 +33,10 @@ class PluginDependencyTracker {
|
||||
}
|
||||
|
||||
private void removeDependency(String from, String to) {
|
||||
plugins.get(to).remove(from);
|
||||
Collection<String> dependencies = plugins.get(to);
|
||||
if (dependencies == null) {
|
||||
throw new NullPointerException("inverse dependencies not found for " + to);
|
||||
}
|
||||
dependencies.remove(from);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user