X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6def96daca7a5ec60dc067c04864bc58bd4aaf5c..3836d53ef13841dad652e3faeb20660576279afd:/cmd/arvados-client/cmd.go?ds=sidebyside diff --git a/cmd/arvados-client/cmd.go b/cmd/arvados-client/cmd.go index b96cce368b..bc6c7f0021 100644 --- a/cmd/arvados-client/cmd.go +++ b/cmd/arvados-client/cmd.go @@ -5,32 +5,59 @@ package main import ( - "fmt" - "io" "os" - "regexp" - "runtime" - "git.curoverse.com/arvados.git/lib/cli" - "git.curoverse.com/arvados.git/lib/cmd" + "git.arvados.org/arvados.git/lib/cli" + "git.arvados.org/arvados.git/lib/cmd" ) -var version = "dev" +var ( + handler = cmd.Multi(map[string]cmd.Handler{ + "-e": cmd.Version, + "version": cmd.Version, + "-version": cmd.Version, + "--version": cmd.Version, -var Run = cmd.WithLateSubcommand(cmd.Multi(map[string]cmd.RunFunc{ - "get": cli.Get, - "-e": cmdVersion, - "version": cmdVersion, - "-version": cmdVersion, - "--version": cmdVersion, -}), []string{"f", "format"}, []string{"n", "dry-run", "v", "verbose", "s", "short"}) + "copy": cli.Copy, + "create": cli.Create, + "edit": cli.Edit, + "get": cli.Get, + "keep": cli.Keep, + "tag": cli.Tag, + "ws": cli.Ws, -func cmdVersion(prog string, args []string, _ io.Reader, stdout, _ io.Writer) int { - prog = regexp.MustCompile(` -*version$`).ReplaceAllLiteralString(prog, "") - fmt.Fprintf(stdout, "%s %s (%s)\n", prog, version, runtime.Version()) - return 0 + "api_client_authorization": cli.APICall, + "api_client": cli.APICall, + "authorized_key": cli.APICall, + "collection": cli.APICall, + "container": cli.APICall, + "container_request": cli.APICall, + "group": cli.APICall, + "human": cli.APICall, + "job": cli.APICall, + "job_task": cli.APICall, + "keep_disk": cli.APICall, + "keep_service": cli.APICall, + "link": cli.APICall, + "log": cli.APICall, + "node": cli.APICall, + "pipeline_instance": cli.APICall, + "pipeline_template": cli.APICall, + "repository": cli.APICall, + "specimen": cli.APICall, + "trait": cli.APICall, + "user_agreement": cli.APICall, + "user": cli.APICall, + "virtual_machine": cli.APICall, + "workflow": cli.APICall, + }) +) + +func fixLegacyArgs(args []string) []string { + flags, _ := cli.LegacyFlagSet() + return cmd.SubcommandToFront(args, flags) } func main() { - os.Exit(Run(os.Args[0], os.Args[1:], os.Stdin, os.Stdout, os.Stderr)) + os.Exit(handler.RunCommand(os.Args[0], fixLegacyArgs(os.Args[1:]), os.Stdin, os.Stdout, os.Stderr)) }