Commit Graph

61 Commits

Author SHA1 Message Date
Rene Pfeuffer
868cfb4a0a Fix class name 2020-01-24 12:01:21 +01:00
Rene Pfeuffer
97600b26e2 Check plugin dependencies after download 2020-01-23 17:02:53 +01:00
Rene Pfeuffer
2d755aae9a Fix plugin load order
The old algorithm failed, because the tree below lead to the issue, that
the scm-branchwp-plugin was loaded before the scm-review-plugin was
ready.

This commit changes the order in the way, that leafs are loaded last.

+- scm-editor-plugin d
   +- scm-branchwp-plugin a
+- scm-mail-plugin c
   +- scm-review-plugin b
      +- scm-branchwp-plugin a
   +- scm-branchwp-plugin a
2020-01-16 08:56:57 +01:00
Sebastian Sdorra
c1aa4af6e0 implemented optional dependencies
Plugin authors could now define optional dependencies to other plugins in their pom.
Extensions which are using classes from optional dependencies must specify this
with the "requires" attribute of the extension annotation.
Extensions with "requires" attribute are not installed if one of the specified plugins,
is not installed.
2020-01-08 14:27:11 +01:00
Rene Pfeuffer
450ed7bd4e Fix unit test 2019-11-25 08:15:13 +01:00
Eduard Heimbuch
9261513555 test if queues are cleared on cancel pending 2019-09-30 10:48:26 +02:00
Eduard Heimbuch
333579ef2a cancel installation on pending plugins 2019-09-28 11:44:39 +02:00
Eduard Heimbuch
281d812065 add rest api updateAllPlugins 2019-09-27 15:30:21 +02:00
Rene Pfeuffer
3b34cb5278 Rename method and check permission 2019-09-27 11:46:14 +02:00
Rene Pfeuffer
2519c415bf Set uninstalled marker on cancel 2019-09-27 11:40:06 +02:00
Rene Pfeuffer
3145b751c6 Add cancel method to remove install and uninstall files 2019-09-26 17:50:54 +02:00
Rene Pfeuffer
ac4eca7520 Fetch exception when uninstall file could not be written 2019-09-26 16:51:26 +02:00
Rene Pfeuffer
f53f6f0a25 Execute restart, when there are only plugins to uninstall 2019-09-18 08:35:59 +02:00
Eduard Heimbuch
7c029a9b76 merge 2.0.0 / rename installPending to executePending 2019-09-17 10:36:52 +02:00
René Pfeuffer
fc319f90e3 Append uninstall links 2019-09-16 17:50:05 +02:00
René Pfeuffer
0243edf585 Fix tracker 2019-09-16 17:49:21 +02:00
Rene Pfeuffer
5a8ed638dd Mirror uninstall state in plugin object 2019-09-16 14:32:14 +02:00
Rene Pfeuffer
38f05fe689 Prohibit uninstallation of core plugins 2019-09-16 14:12:49 +02:00
Rene Pfeuffer
1bc8dea481 Merge with update plugins feature 2019-09-16 14:10:27 +02:00
Rene Pfeuffer
ba59713c7f fix unit test 2019-09-16 14:07:48 +02:00
Rene Pfeuffer
88ed3ff023 Add uninstall method to plugin manager 2019-09-16 13:22:26 +02:00
Rene Pfeuffer
14451897b2 Introduce PluginDependencyTracker 2019-09-16 11:42:26 +02:00
Eduard Heimbuch
5606854846 merged 2.0.0 2019-09-16 11:01:33 +02:00
Rene Pfeuffer
0142258705 Extract plugin creation for unit tests to util class 2019-09-16 09:55:38 +02:00
Rene Pfeuffer
0fdd1cea17 Detect core plugins and prevent installation 2019-09-11 16:46:27 +02:00
Rene Pfeuffer
202a638a0f Show updatable plugins 2019-09-11 14:51:38 +02:00
Sebastian Sdorra
769207c2c1 fixed compilation error 2019-08-27 15:33:30 +02:00
Sebastian Sdorra
1acdb44c47 Merged in bugfix/ignore_old_plugin_dir (pull request #296)
ignore old plugins folder
2019-08-27 12:30:25 +00:00
Sebastian Sdorra
b36c2dd698 use nio api and added test for plugin directory check 2019-08-27 13:59:14 +02:00
Sebastian Sdorra
0ce9aeb400 remove deprecated PluginState 2019-08-21 16:10:17 +02:00
Sebastian Sdorra
9514a94492 handle pending plugin installations 2019-08-21 12:49:15 +02:00
Sebastian Sdorra
25cb0d6a25 implemented restart after installation 2019-08-21 11:22:49 +02:00
Sebastian Sdorra
5694a953af implemented permission checks 2019-08-21 09:25:44 +02:00
Sebastian Sdorra
de7d18e026 cancel all pending installations, if a dependency failed to install 2019-08-21 08:42:57 +02:00
Sebastian Sdorra
7ef4b30027 remove downloaded artifact on error 2019-08-21 07:56:52 +02:00
Sebastian Sdorra
e0fa09fd04 improve hash calculation and use nio file apis 2019-08-21 07:44:50 +02:00
Sebastian Sdorra
8db2bbb28d PluginInstaller returns now PendingPluginInstallation, to abort the installation before restart 2019-08-20 16:38:29 +02:00
Sebastian Sdorra
e24673be0a implemented plugin installation 2019-08-20 14:43:48 +02:00
Sebastian Sdorra
9d66f14627 implement simplified PluginManager API 2019-08-20 12:29:59 +02:00
Sebastian Sdorra
1a01216f62 renamed Plugin to InstalledPluginDescriptor and added PluginDescriptor interface 2019-08-20 08:05:41 +02:00
Sebastian Sdorra
ae19ad9327 renamed PluginWrapper to InstalledPlugin 2019-08-20 07:54:00 +02:00
Sebastian Sdorra
056a81d9f9 fixed dependency mapping 2019-08-20 07:53:17 +02:00
Sebastian Sdorra
55e4568ee5 use mapstruct for dto mapping and fix missing fields 2019-08-15 17:01:15 +02:00
Eduard Heimbuch
785e5e1142 refactor plugin backend + fix tests 2019-07-29 11:52:53 +02:00
Sebastian Sdorra
80febf9424 added modules, classloading and view packages to sonia.scm.lifecycle 2019-06-25 09:49:52 +02:00
Sebastian Sdorra
99f1c8c55e rename package sonia.scm.boot to sonia.scm.lifecycle 2019-06-25 08:36:57 +02:00
Sebastian Sdorra
91fd259f07 use ClassLoaderLeakPreventor to reduce ClassLoaderLeaks of plugins 2019-06-19 11:52:20 +02:00
Sebastian Sdorra
8bf82213b8 remove unused imports 2019-01-30 14:48:37 +01:00
Sebastian Sdorra
1b60095373 do not cache resource urls in development stage, to avoid stale data 2018-10-29 14:55:56 +01:00
Sebastian Sdorra
ee8efe9cf5 do not return directories from WebResourceLoader 2018-08-23 14:48:11 +02:00