Commit b6417205 by Torkel Ödegaard

Merge branch 'master' of github.com:grafana/grafana

parents 950455bd eb79436a
......@@ -90,6 +90,10 @@ func scan(pluginDir string) error {
}
log.Info("Plugins: Scaning dir %s", pluginDir)
if util.ContainsDistFolder(pluginDir) {
log.Info("Plugins: Found dist folder in %s", pluginDir)
pluginDir = filepath.Join(pluginDir, "dist")
}
if err := util.Walk(pluginDir, true, true, scanner.walker); err != nil {
if pluginDir != "data/plugins" {
......
......@@ -44,8 +44,7 @@ func Walk(path string, followSymlinks bool, detectSymlinkInfiniteLoop bool, walk
//
//If resolvedPath is "", then we are not following symbolic links.
//If symlinkPathsFollowed is not nil, then we need to detect infinite loop.
func walk(path string, info os.FileInfo, resolvedPath string,
symlinkPathsFollowed map[string]bool, walkFn WalkFunc) error {
func walk(path string, info os.FileInfo, resolvedPath string, symlinkPathsFollowed map[string]bool, walkFn WalkFunc) error {
if info == nil {
return errors.New("Walk: Nil FileInfo passed")
}
......@@ -96,3 +95,23 @@ func walk(path string, info os.FileInfo, resolvedPath string,
}
return nil
}
func ContainsDistFolder(path string) bool {
info, err := os.Lstat(path)
if err != nil {
return false
}
if !info.IsDir() {
return false
}
list, err := ioutil.ReadDir(path)
for _, fileInfo := range list {
if fileInfo.IsDir() && fileInfo.Name() == "dist" {
return true
}
}
return false
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment