diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/InstallPlugin.java b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/InstallPlugin.java index 13f8098618..2f780bf476 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/InstallPlugin.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/InstallPlugin.java @@ -60,7 +60,12 @@ class InstallPlugin implements RestModifyView { } try { try (InputStream in = openStream(input)) { - loader.installPluginFromStream(name, in); + String pluginName = loader.installPluginFromStream(name, in); + ListPlugins.PluginInfo info = + new ListPlugins.PluginInfo(loader.get(pluginName)); + return created + ? Response.created(info) + : Response.ok(info); } } catch (PluginInstallException e) { StringWriter buf = new StringWriter(); @@ -76,9 +81,6 @@ class InstallPlugin implements RestModifyView { } throw new BadRequestException(buf.toString()); } - - ListPlugins.PluginInfo info = new ListPlugins.PluginInfo(loader.get(name)); - return created ? Response.created(info) : Response.ok(info); } private InputStream openStream(Input input) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java index 4e651c27ce..500640199f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java @@ -157,7 +157,7 @@ public class PluginLoader implements LifecycleListener { } } - public void installPluginFromStream(String originalName, InputStream in) + public String installPluginFromStream(String originalName, InputStream in) throws IOException, PluginInstallException { checkRemoteInstall(); @@ -197,6 +197,8 @@ public class PluginLoader implements LifecycleListener { cleanInBackground(); } + + return name; } static Path asTemp(InputStream in, String prefix, String suffix, Path dir)