upgrade_command.go 634 B

123456789101112131415161718192021222324252627282930313233
  1. package commands
  2. import (
  3. s "github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
  4. )
  5. func upgradeCommand(c CommandLine) error {
  6. pluginDir := c.GlobalString("path")
  7. pluginName := c.Args().First()
  8. localPlugin, err := s.ReadPlugin(pluginDir, pluginName)
  9. if err != nil {
  10. return err
  11. }
  12. remotePlugins, err2 := s.ListAllPlugins()
  13. if err2 != nil {
  14. return err2
  15. }
  16. for _, v := range remotePlugins.Plugins {
  17. if localPlugin.Id == v.Id {
  18. if ShouldUpgrade(localPlugin.Info.Version, v) {
  19. s.RemoveInstalledPlugin(pluginDir, pluginName)
  20. return InstallPlugin(localPlugin.Id, pluginDir, "")
  21. }
  22. }
  23. }
  24. return nil
  25. }