grafana/pkg/cmd/grafana-cli/commands/upgrade_command.go

34 lines
648 B
Go
Raw Normal View History

2016-02-15 21:09:34 +08:00
package commands
import (
s "github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
2016-02-15 21:09:34 +08:00
)
func upgradeCommand(c CommandLine) error {
pluginDir := c.GlobalString("path")
pluginName := c.Args().First()
localPlugin, err := s.ReadPlugin(pluginDir, pluginName)
if err != nil {
return err
}
remotePlugins, err2 := s.ListAllPlugins(c.GlobalString("repo"))
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, "", c)
}
}
}
return nil
2016-02-15 21:09:34 +08:00
}