From 07be2c89a3c429e611513bb5d83ec1678ebad788 Mon Sep 17 00:00:00 2001 From: bergquist Date: Fri, 24 Jun 2016 20:14:58 +0200 Subject: [PATCH] tech(cli): lets use the fact that we have a compiler --- pkg/cmd/grafana-cli/commands/command_line.go | 11 +++++++++++ .../commands/commandstest/fake_commandLine.go | 8 ++++++++ pkg/cmd/grafana-cli/commands/install_command.go | 8 ++++---- pkg/cmd/grafana-cli/commands/listremote_command.go | 2 +- pkg/cmd/grafana-cli/commands/ls_command.go | 2 +- pkg/cmd/grafana-cli/commands/remove_command.go | 2 +- pkg/cmd/grafana-cli/commands/upgrade_all_command.go | 2 +- pkg/cmd/grafana-cli/commands/upgrade_command.go | 4 ++-- 8 files changed, 29 insertions(+), 10 deletions(-) diff --git a/pkg/cmd/grafana-cli/commands/command_line.go b/pkg/cmd/grafana-cli/commands/command_line.go index edbdc03d7c2..ce5d04c1bb5 100644 --- a/pkg/cmd/grafana-cli/commands/command_line.go +++ b/pkg/cmd/grafana-cli/commands/command_line.go @@ -16,6 +16,9 @@ type CommandLine interface { GlobalString(name string) string FlagNames() (names []string) Generic(name string) interface{} + + PluginDirectory() string + RepoDirectory() string } type contextCommandLine struct { @@ -33,3 +36,11 @@ func (c *contextCommandLine) ShowVersion() { func (c *contextCommandLine) Application() *cli.App { return c.App } + +func (c *contextCommandLine) PluginDirectory() string { + return c.GlobalString("pluginsDir") +} + +func (c *contextCommandLine) RepoDirectory() string { + return c.GlobalString("repo") +} diff --git a/pkg/cmd/grafana-cli/commands/commandstest/fake_commandLine.go b/pkg/cmd/grafana-cli/commands/commandstest/fake_commandLine.go index 4a070b5a192..8366e0feb15 100644 --- a/pkg/cmd/grafana-cli/commands/commandstest/fake_commandLine.go +++ b/pkg/cmd/grafana-cli/commands/commandstest/fake_commandLine.go @@ -93,3 +93,11 @@ func (fcli *FakeCommandLine) Args() cli.Args { func (fcli *FakeCommandLine) ShowVersion() { fcli.VersionShown = true } + +func (fcli *FakeCommandLine) RepoDirectory() string { + return fcli.GlobalString("repo") +} + +func (fcli *FakeCommandLine) PluginDirectory() string { + return fcli.GlobalString("pluginsDir") +} diff --git a/pkg/cmd/grafana-cli/commands/install_command.go b/pkg/cmd/grafana-cli/commands/install_command.go index 4fe4525bb75..401606e5ec8 100644 --- a/pkg/cmd/grafana-cli/commands/install_command.go +++ b/pkg/cmd/grafana-cli/commands/install_command.go @@ -25,7 +25,7 @@ func validateInput(c CommandLine, pluginFolder string) error { return errors.New("please specify plugin to install") } - pluginsDir := c.GlobalString("pluginsDir") + pluginsDir := c.PluginDirectory() if pluginsDir == "" { return errors.New("missing pluginsDir flag") } @@ -46,7 +46,7 @@ func validateInput(c CommandLine, pluginFolder string) error { } func installCommand(c CommandLine) error { - pluginFolder := c.GlobalString("pluginsDir") + pluginFolder := c.PluginDirectory() if err := validateInput(c, pluginFolder); err != nil { return err } @@ -58,8 +58,8 @@ func installCommand(c CommandLine) error { } func InstallPlugin(pluginName, version string, c CommandLine) error { - plugin, err := s.GetPlugin(pluginName, c.GlobalString("repo")) - pluginFolder := c.GlobalString("pluginsDir") + plugin, err := s.GetPlugin(pluginName, c.RepoDirectory()) + pluginFolder := c.PluginDirectory() if err != nil { return err } diff --git a/pkg/cmd/grafana-cli/commands/listremote_command.go b/pkg/cmd/grafana-cli/commands/listremote_command.go index c4de82a985d..4798369def1 100644 --- a/pkg/cmd/grafana-cli/commands/listremote_command.go +++ b/pkg/cmd/grafana-cli/commands/listremote_command.go @@ -6,7 +6,7 @@ import ( ) func listremoteCommand(c CommandLine) error { - plugin, err := s.ListAllPlugins(c.GlobalString("repo")) + plugin, err := s.ListAllPlugins(c.RepoDirectory()) if err != nil { return err diff --git a/pkg/cmd/grafana-cli/commands/ls_command.go b/pkg/cmd/grafana-cli/commands/ls_command.go index 212188caf5a..7dcecb9d725 100644 --- a/pkg/cmd/grafana-cli/commands/ls_command.go +++ b/pkg/cmd/grafana-cli/commands/ls_command.go @@ -32,7 +32,7 @@ var validateLsCommand = func(pluginDir string) error { } func lsCommand(c CommandLine) error { - pluginDir := c.GlobalString("pluginsDir") + pluginDir := c.PluginDirectory() if err := validateLsCommand(pluginDir); err != nil { return err } diff --git a/pkg/cmd/grafana-cli/commands/remove_command.go b/pkg/cmd/grafana-cli/commands/remove_command.go index 9792ed9d095..ef465acd692 100644 --- a/pkg/cmd/grafana-cli/commands/remove_command.go +++ b/pkg/cmd/grafana-cli/commands/remove_command.go @@ -12,7 +12,7 @@ var getPluginss func(path string) []m.InstalledPlugin = services.GetLocalPlugins var removePlugin func(pluginPath, id string) error = services.RemoveInstalledPlugin func removeCommand(c CommandLine) error { - pluginPath := c.GlobalString("pluginsDir") + pluginPath := c.PluginDirectory() localPlugins := getPluginss(pluginPath) plugin := c.Args().First() diff --git a/pkg/cmd/grafana-cli/commands/upgrade_all_command.go b/pkg/cmd/grafana-cli/commands/upgrade_all_command.go index 19e9ff45504..1a6df719053 100644 --- a/pkg/cmd/grafana-cli/commands/upgrade_all_command.go +++ b/pkg/cmd/grafana-cli/commands/upgrade_all_command.go @@ -28,7 +28,7 @@ func ShouldUpgrade(installed string, remote m.Plugin) bool { } func upgradeAllCommand(c CommandLine) error { - pluginsDir := c.GlobalString("pluginsDir") + pluginsDir := c.PluginDirectory() localPlugins := s.GetLocalPlugins(pluginsDir) diff --git a/pkg/cmd/grafana-cli/commands/upgrade_command.go b/pkg/cmd/grafana-cli/commands/upgrade_command.go index 2a6f5bd0f37..355ccab3d1c 100644 --- a/pkg/cmd/grafana-cli/commands/upgrade_command.go +++ b/pkg/cmd/grafana-cli/commands/upgrade_command.go @@ -7,7 +7,7 @@ import ( ) func upgradeCommand(c CommandLine) error { - pluginsDir := c.GlobalString("pluginsDir") + pluginsDir := c.PluginDirectory() pluginName := c.Args().First() localPlugin, err := s.ReadPlugin(pluginsDir, pluginName) @@ -16,7 +16,7 @@ func upgradeCommand(c CommandLine) error { return err } - v, err2 := s.GetPlugin(localPlugin.Id, c.GlobalString("repo")) + v, err2 := s.GetPlugin(localPlugin.Id, c.RepoDirectory()) if err2 != nil { return err2