From e905c2c6b589dbbef9ee3e9a4ed67a8550ad9112 Mon Sep 17 00:00:00 2001 From: bergquist Date: Mon, 14 Mar 2016 17:16:10 +0100 Subject: [PATCH] feat(plugin.json): remove staticRoot field --- pkg/plugins/frontend_plugin.go | 15 +++++++++------ pkg/plugins/models.go | 18 ++++++++---------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/pkg/plugins/frontend_plugin.go b/pkg/plugins/frontend_plugin.go index aab3f851f60..cd7f9703aae 100644 --- a/pkg/plugins/frontend_plugin.go +++ b/pkg/plugins/frontend_plugin.go @@ -3,9 +3,9 @@ package plugins import ( "net/url" "path" - "path/filepath" "strings" + "github.com/grafana/grafana/pkg/setting" "github.com/grafana/grafana/pkg/util" ) @@ -14,10 +14,9 @@ type FrontendPluginBase struct { } func (fp *FrontendPluginBase) initFrontendPlugin() { - if fp.StaticRoot != "" { - fp.StaticRootAbs = filepath.Join(fp.PluginDir, fp.StaticRoot) + if isInternalPlugin(fp.PluginDir) { StaticRoutes = append(StaticRoutes, &PluginStaticRoute{ - Directory: fp.StaticRootAbs, + Directory: fp.PluginDir, PluginId: fp.Id, }) } @@ -33,7 +32,7 @@ func (fp *FrontendPluginBase) initFrontendPlugin() { } func (fp *FrontendPluginBase) setPathsBasedOnApp(app *AppPlugin) { - appSubPath := strings.Replace(fp.PluginDir, app.StaticRootAbs, "", 1) + appSubPath := strings.Replace(fp.PluginDir, app.PluginDir, "", 1) fp.IncludedInAppId = app.Id fp.BaseUrl = app.BaseUrl fp.Module = util.JoinUrlFragments("plugins/"+app.Id, appSubPath) + "/module" @@ -41,7 +40,7 @@ func (fp *FrontendPluginBase) setPathsBasedOnApp(app *AppPlugin) { func (fp *FrontendPluginBase) handleModuleDefaults() { - if fp.StaticRoot != "" { + if isInternalPlugin(fp.PluginDir) { fp.Module = path.Join("plugins", fp.Id, "module") fp.BaseUrl = path.Join("public/plugins", fp.Id) return @@ -51,6 +50,10 @@ func (fp *FrontendPluginBase) handleModuleDefaults() { fp.BaseUrl = path.Join("public/app/plugins", fp.Type, fp.Id) } +func isInternalPlugin(pluginDir string) bool { + return !strings.Contains(pluginDir, setting.StaticRootPath) +} + func evalRelativePluginUrlPath(pathStr string, baseUrl string) string { if pathStr == "" { return "" diff --git a/pkg/plugins/models.go b/pkg/plugins/models.go index 07c3d321ec7..8443e91931d 100644 --- a/pkg/plugins/models.go +++ b/pkg/plugins/models.go @@ -30,16 +30,14 @@ type PluginLoader interface { } type PluginBase struct { - Type string `json:"type"` - Name string `json:"name"` - Id string `json:"id"` - Info PluginInfo `json:"info"` - Dependencies PluginDependencies `json:"dependencies"` - Includes []*PluginInclude `json:"includes"` - Module string `json:"module"` - BaseUrl string `json:"baseUrl"` - StaticRoot string `json:"staticRoot"` - StaticRootAbs string `json:"-"` + Type string `json:"type"` + Name string `json:"name"` + Id string `json:"id"` + Info PluginInfo `json:"info"` + Dependencies PluginDependencies `json:"dependencies"` + Includes []*PluginInclude `json:"includes"` + Module string `json:"module"` + BaseUrl string `json:"baseUrl"` IncludedInAppId string `json:"-"` PluginDir string `json:"-"`