From a60467cb2dba7b6546bebf77e6ae4ca864fca6d1 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 28 May 2020 20:33:07 -0400 Subject: [PATCH] feat: simplify flag parsing in repo plugin Commands should be written such that they take arguments as is. --- plugins/repo/src/subcommands/subcommands.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/repo/src/subcommands/subcommands.go b/plugins/repo/src/subcommands/subcommands.go index 4194cb147..3ef36c88c 100644 --- a/plugins/repo/src/subcommands/subcommands.go +++ b/plugins/repo/src/subcommands/subcommands.go @@ -14,16 +14,18 @@ import ( func main() { parts := strings.Split(os.Args[0], "/") subcommand := parts[len(parts)-1] - flag.Parse() var err error switch subcommand { case "gc": - flag.Parse() - appName := flag.Arg(1) + args := flag.NewFlagSet("repo:gc", flag.ExitOnError) + args.Parse(os.Args[2:]) + appName := args.Arg(0) err = repo.CommandGc(appName) case "purge-cache": - appName := flag.Arg(1) + args := flag.NewFlagSet("repo:purge-cache", flag.ExitOnError) + args.Parse(os.Args[2:]) + appName := args.Arg(0) err = repo.CommandPurgeCache(appName) default: common.LogFail(fmt.Sprintf("Invalid plugin subcommand call: %s", subcommand))