|
@@ -4,6 +4,7 @@ import (
|
|
|
"archive/zip"
|
|
"archive/zip"
|
|
|
"bytes"
|
|
"bytes"
|
|
|
"errors"
|
|
"errors"
|
|
|
|
|
+ "fmt"
|
|
|
"github.com/grafana/grafana/pkg/cmd/grafana-cli/log"
|
|
"github.com/grafana/grafana/pkg/cmd/grafana-cli/log"
|
|
|
m "github.com/grafana/grafana/pkg/cmd/grafana-cli/models"
|
|
m "github.com/grafana/grafana/pkg/cmd/grafana-cli/models"
|
|
|
s "github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
|
|
s "github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
|
|
@@ -64,30 +65,31 @@ func InstallPlugin(pluginName, version string, c CommandLine) error {
|
|
|
return err
|
|
return err
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- url := v.Url
|
|
|
|
|
- commit := v.Commit
|
|
|
|
|
-
|
|
|
|
|
if version == "" {
|
|
if version == "" {
|
|
|
version = v.Version
|
|
version = v.Version
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- downloadURL := url + "/archive/" + commit + ".zip"
|
|
|
|
|
|
|
+ downloadURL := fmt.Sprintf("%s/%s/versions/%s/download",
|
|
|
|
|
+ c.GlobalString("repo"),
|
|
|
|
|
+ pluginName,
|
|
|
|
|
+ version)
|
|
|
|
|
|
|
|
log.Infof("installing %v @ %v\n", plugin.Id, version)
|
|
log.Infof("installing %v @ %v\n", plugin.Id, version)
|
|
|
log.Infof("from url: %v\n", downloadURL)
|
|
log.Infof("from url: %v\n", downloadURL)
|
|
|
- log.Infof("on commit: %v\n", commit)
|
|
|
|
|
log.Infof("into: %v\n", pluginFolder)
|
|
log.Infof("into: %v\n", pluginFolder)
|
|
|
|
|
|
|
|
err = downloadFile(plugin.Id, pluginFolder, downloadURL)
|
|
err = downloadFile(plugin.Id, pluginFolder, downloadURL)
|
|
|
- if err == nil {
|
|
|
|
|
- log.Infof("Installed %v successfully ✔\n", plugin.Id)
|
|
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return err
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ log.Infof("Installed %v successfully ✔\n", plugin.Id)
|
|
|
|
|
+
|
|
|
res, _ := s.ReadPlugin(pluginFolder, pluginName)
|
|
res, _ := s.ReadPlugin(pluginFolder, pluginName)
|
|
|
|
|
|
|
|
for _, v := range res.Dependency.Plugins {
|
|
for _, v := range res.Dependency.Plugins {
|
|
|
InstallPlugin(v.Id, version, c)
|
|
InstallPlugin(v.Id, version, c)
|
|
|
- log.Infof("Installed Dependency: %v ✔\n", v.Id)
|
|
|
|
|
|
|
+ log.Infof("Installed dependency: %v ✔\n", v.Id)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return err
|
|
return err
|