mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-12 16:35:45 +01:00
mark installed plugin as core after server started
This commit is contained in:
@@ -195,11 +195,7 @@ public class DefaultPluginManager implements PluginManager {
|
||||
dependencyTracker.removeInstalled(installed.getDescriptor());
|
||||
installed.setMarkedForUninstall(true);
|
||||
|
||||
try {
|
||||
Files.createFile(installed.getDirectory().resolve(InstalledPlugin.UNINSTALL_MARKER_FILENAME));
|
||||
} catch (IOException e) {
|
||||
throw new PluginException("could not mark plugin " + name + " in path " + installed.getDirectory() + " for uninstall", e);
|
||||
}
|
||||
createMarkerFile(installed, InstalledPlugin.UNINSTALL_MARKER_FILENAME);
|
||||
|
||||
if (restartAfterInstallation) {
|
||||
restart("plugin installation");
|
||||
@@ -219,6 +215,19 @@ public class DefaultPluginManager implements PluginManager {
|
||||
&& dependencyTracker.mayUninstall(p.getDescriptor().getInformation().getName());
|
||||
}
|
||||
|
||||
private void markAsCore(InstalledPlugin plugin) {
|
||||
createMarkerFile(plugin, PluginConstants.FILE_CORE);
|
||||
plugin.markAsCore();
|
||||
}
|
||||
|
||||
private void createMarkerFile(InstalledPlugin plugin, String markerFile) {
|
||||
try {
|
||||
Files.createFile(plugin.getDirectory().resolve(markerFile));
|
||||
} catch (IOException e) {
|
||||
throw new PluginException("could not mark plugin " + plugin.getId() + " in path " + plugin.getDirectory() + "as " + markerFile, e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executePendingAndRestart() {
|
||||
PluginPermissions.manage().check();
|
||||
|
||||
@@ -462,7 +462,7 @@ public final class PluginProcessor
|
||||
|
||||
if (Files.exists(descriptorPath)) {
|
||||
|
||||
boolean core = Files.exists(directory.resolve("core"));
|
||||
boolean core = Files.exists(directory.resolve(PluginConstants.FILE_CORE));
|
||||
|
||||
ClassLoader cl = createClassLoader(classLoader, smp);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user