Procházet zdrojové kódy

Merge pull request #4361 from bergquist/remove_staticRoot

plugin.json: remove staticRoot field
Carl Bergquist před 9 roky
rodič
revize
0b3ccaff27
2 změnil soubory, kde provedl 17 přidání a 16 odebrání
  1. 9 6
      pkg/plugins/frontend_plugin.go
  2. 8 10
      pkg/plugins/models.go

+ 9 - 6
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,
 		})
 	}
@@ -41,7 +40,7 @@ func getPluginLogoUrl(path, baseUrl string) string {
 }
 
 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"
@@ -49,7 +48,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
@@ -59,6 +58,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 ""

+ 8 - 10
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:"-"`