From 281d8120657598c574f579b4fe37c73782863301 Mon Sep 17 00:00:00 2001 From: Eduard Heimbuch Date: Fri, 27 Sep 2019 15:30:21 +0200 Subject: [PATCH] add rest api updateAllPlugins --- .../java/sonia/scm/plugin/PluginManager.java | 8 ++++ scm-ui/public/locales/de/admin.json | 2 + scm-ui/public/locales/en/admin.json | 2 + scm-ui/public/locales/es/admin.json | 2 + .../components/MultiPluginActionModal.js | 3 +- .../v2/resources/InstalledPluginResource.java | 15 ++++++++ .../resources/PluginDtoCollectionMapper.java | 4 ++ .../scm/api/v2/resources/ResourceLinks.java | 4 ++ .../scm/plugin/DefaultPluginManager.java | 16 +++++++- .../scm/plugin/DefaultPluginManagerTest.java | 38 +++++++++++++++++++ .../sonia/scm/plugin/PluginTestHelper.java | 7 ++++ 11 files changed, 99 insertions(+), 2 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginManager.java b/scm-core/src/main/java/sonia/scm/plugin/PluginManager.java index 964ebf605b..f0719226ce 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginManager.java +++ b/scm-core/src/main/java/sonia/scm/plugin/PluginManager.java @@ -94,5 +94,13 @@ public interface PluginManager { */ void executePendingAndRestart(); + /** + * Cancel all pending plugins. + */ void cancelPending(); + + /** + * Update all installed plugins. + */ + void updateAll(boolean restartAfterInstallation); } diff --git a/scm-ui/public/locales/de/admin.json b/scm-ui/public/locales/de/admin.json index d4f3567059..3da907eb02 100644 --- a/scm-ui/public/locales/de/admin.json +++ b/scm-ui/public/locales/de/admin.json @@ -30,6 +30,8 @@ "availableNavLink": "Verfügbar" }, "executePending": "Ausstehende Plugin-Änderungen ausführen", + "updateAll": "Alle Plugins aktualisieren", + "cancelPending": "Ausstehende Plugin-Änderungen abbrechen", "noPlugins": "Keine Plugins gefunden.", "modal": { "title": { diff --git a/scm-ui/public/locales/en/admin.json b/scm-ui/public/locales/en/admin.json index c23a88a920..245d048684 100644 --- a/scm-ui/public/locales/en/admin.json +++ b/scm-ui/public/locales/en/admin.json @@ -30,6 +30,8 @@ "availableNavLink": "Available" }, "executePending": "Execute pending plugin changes", + "updateAll": "Update all plugins", + "cancelPending": "Cancel pending plugin changes", "noPlugins": "No plugins found.", "modal": { "title": { diff --git a/scm-ui/public/locales/es/admin.json b/scm-ui/public/locales/es/admin.json index db9fade43c..155313ed99 100644 --- a/scm-ui/public/locales/es/admin.json +++ b/scm-ui/public/locales/es/admin.json @@ -30,6 +30,8 @@ "availableNavLink": "Disponibles" }, "executePending": "Ejecutar los complementos pendientes", + "updateAll": "Actualizar todos los complementos", + "cancelPending": "Cancelar los complementos pendientes", "noPlugins": "No se han encontrado complementos.", "modal": { "title": { diff --git a/scm-ui/src/admin/plugins/components/MultiPluginActionModal.js b/scm-ui/src/admin/plugins/components/MultiPluginActionModal.js index 24a0f0d982..3c543bf5c2 100644 --- a/scm-ui/src/admin/plugins/components/MultiPluginActionModal.js +++ b/scm-ui/src/admin/plugins/components/MultiPluginActionModal.js @@ -155,13 +155,14 @@ class MultiPluginActionModal extends React.Component { }; renderUpdatable = () => { - const { installedPlugins } = this.props; + const {installedPlugins, t} = this.props; return ( <> {installedPlugins && installedPlugins._embedded && installedPlugins._embedded.plugins && ( <> + {t("plugins.modal.updateQueue")}