From d1958bdc49cd10277ca2e27bb2eea499c5994954 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Fri, 6 Oct 2017 13:58:23 -0400 Subject: Do not require server restart when enabling/disabling plugins (#7592) --- app/plugins.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'app/plugins.go') diff --git a/app/plugins.go b/app/plugins.go index 2c87cee19..9826674f1 100644 --- a/app/plugins.go +++ b/app/plugins.go @@ -394,12 +394,14 @@ func (a *App) RemovePlugin(id string) *model.AppError { } func (a *App) InitPlugins(pluginPath, webappPath string) { - a.InitBuiltInPlugins() - if !utils.IsLicensed() || !*utils.License().Features.FutureFeatures || !*utils.Cfg.PluginSettings.Enable { return } + if a.PluginEnv != nil { + return + } + l4g.Info("Starting up plugins") err := os.Mkdir(pluginPath, 0744) @@ -485,9 +487,13 @@ func (a *App) ShutDownPlugins() { if a.PluginEnv == nil { return } + + l4g.Info("Shutting down plugins") + for _, err := range a.PluginEnv.Shutdown() { l4g.Error(err.Error()) } utils.RemoveConfigListener(a.PluginConfigListenerId) a.PluginConfigListenerId = "" + a.PluginEnv = nil } -- cgit v1.2.3-1-g7c22