feat: simplify flag parsing in repo plugin

Commands should be written such that they take arguments as is.
This commit is contained in:
Jose Diaz-Gonzalez
2020-05-28 20:33:07 -04:00
parent 91a668ee8f
commit a60467cb2d

View File

@@ -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))