feat(cli): add command for upgrading one plugin

This commit is contained in:
bergquist
2016-02-16 08:49:27 +01:00
parent 36f4f1d0f3
commit 4131d8b57a
5 changed files with 42 additions and 18 deletions
@@ -1,9 +1,33 @@
package commands
import (
"errors"
s "github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
)
func upgradeCommand(c CommandLine) error {
return errors.New("Not yet Implemented")
pluginDir := c.GlobalString("path")
pluginName := c.Args().First()
localPlugin, err := s.ReadPlugin(pluginDir, pluginName)
if err != nil {
return err
}
remotePlugins, err2 := s.ListAllPlugins()
if err2 != nil {
return err2
}
for _, v := range remotePlugins.Plugins {
if localPlugin.Id == v.Id {
if ShouldUpgrade(localPlugin.Info.Version, v) {
s.RemoveInstalledPlugin(pluginDir, pluginName)
return InstallPlugin(localPlugin.Id, pluginDir, "")
}
}
}
return nil
}