X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/080c940d7a8134a6e277a53b7e45eb27e2b2c87f..b96728249db70975be33bb5c5721ec5b8a0eb3ff:/lib/cmd/cmd.go diff --git a/lib/cmd/cmd.go b/lib/cmd/cmd.go index 8c65cf7acf..24b69f0cc5 100644 --- a/lib/cmd/cmd.go +++ b/lib/cmd/cmd.go @@ -28,16 +28,24 @@ func (f HandlerFunc) RunCommand(prog string, args []string, stdin io.Reader, std return f(prog, args, stdin, stdout, stderr) } -type Version string +// Version is a Handler that prints the package version (set at build +// time using -ldflags) and Go runtime version to stdout, and returns +// 0. +var Version versionCommand -func (v Version) RunCommand(prog string, args []string, stdin io.Reader, stdout, stderr io.Writer) int { +var version = "dev" + +type versionCommand struct{} + +func (versionCommand) RunCommand(prog string, args []string, stdin io.Reader, stdout, stderr io.Writer) int { prog = regexp.MustCompile(` -*version$`).ReplaceAllLiteralString(prog, "") - fmt.Fprintf(stdout, "%s %s (%s)\n", prog, v, runtime.Version()) + fmt.Fprintf(stdout, "%s %s (%s)\n", prog, version, runtime.Version()) return 0 } -// Multi is a Handler that looks up its first argument in a map, and -// invokes the resulting Handler with the remaining args. +// Multi is a Handler that looks up its first argument in a map (after +// stripping any "arvados-" or "crunch-" prefix), and invokes the +// resulting Handler with the remaining args. // // Example: //