13497: Add arvados-server command.
authorTom Clegg <tclegg@veritasgenetics.com>
Thu, 7 Jun 2018 14:20:29 +0000 (10:20 -0400)
committerTom Clegg <tclegg@veritasgenetics.com>
Thu, 7 Jun 2018 19:23:32 +0000 (15:23 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

build/run-tests.sh
cmd/arvados-client/cmd.go
cmd/arvados-server/cmd.go [new file with mode: 0644]
lib/cmd/cmd.go

index 17a4fbd35e3f3a4237b8b383e06d8fc483b2d3ca..40d37621ea956eeb30f0ea6845fba20b4afe7b72 100755 (executable)
@@ -70,6 +70,7 @@ apps/workbench_integration (*)
 apps/workbench_benchmark
 apps/workbench_profile
 cmd/arvados-client
+cmd/arvados-server
 doc
 lib/cli
 lib/cmd
@@ -891,6 +892,7 @@ do_install services/api apiserver
 declare -a gostuff
 gostuff=(
     cmd/arvados-client
+    cmd/arvados-server
     lib/cli
     lib/cmd
     lib/controller
index b616b54bd95ea45e7faf852b7a926a00fa9e2830..4550ae53aced128d0698891c76d95a1730cae316 100644 (file)
@@ -5,24 +5,19 @@
 package main
 
 import (
-       "fmt"
-       "io"
        "os"
-       "regexp"
-       "runtime"
 
        "git.curoverse.com/arvados.git/lib/cli"
        "git.curoverse.com/arvados.git/lib/cmd"
 )
 
 var (
-       version                = "dev"
-       cmdVersion cmd.Handler = versionCmd{}
-       handler                = cmd.Multi(map[string]cmd.Handler{
-               "-e":        cmdVersion,
-               "version":   cmdVersion,
-               "-version":  cmdVersion,
-               "--version": cmdVersion,
+       version = "dev"
+       handler = cmd.Multi(map[string]cmd.Handler{
+               "-e":        cmd.Version(version),
+               "version":   cmd.Version(version),
+               "-version":  cmd.Version(version),
+               "--version": cmd.Version(version),
 
                "copy":     cli.Copy,
                "create":   cli.Create,
@@ -61,14 +56,6 @@ var (
        })
 )
 
-type versionCmd struct{}
-
-func (versionCmd) RunCommand(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
-}
-
 func fixLegacyArgs(args []string) []string {
        flags, _ := cli.LegacyFlagSet()
        return cmd.SubcommandToFront(args, flags)
diff --git a/cmd/arvados-server/cmd.go b/cmd/arvados-server/cmd.go
new file mode 100644 (file)
index 0000000..1af3745
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+package main
+
+import (
+       "os"
+
+       "git.curoverse.com/arvados.git/lib/cmd"
+       "git.curoverse.com/arvados.git/lib/controller"
+)
+
+var (
+       version = "dev"
+       handler = cmd.Multi(map[string]cmd.Handler{
+               "version":   cmd.Version(version),
+               "-version":  cmd.Version(version),
+               "--version": cmd.Version(version),
+
+               "controller": controller.Command,
+       })
+)
+
+func main() {
+       os.Exit(handler.RunCommand(os.Args[0], os.Args[1:], os.Stdin, os.Stdout, os.Stderr))
+}
index 8b8427a7007695ac65b1478fc259775662d71a2d..0d3a07a6151887f67447db33307cd6da2d59ffa1 100644 (file)
@@ -12,6 +12,8 @@ import (
        "io"
        "io/ioutil"
        "path/filepath"
+       "regexp"
+       "runtime"
        "sort"
        "strings"
 )
@@ -26,6 +28,14 @@ func (f HandlerFunc) RunCommand(prog string, args []string, stdin io.Reader, std
        return f(prog, args, stdin, stdout, stderr)
 }
 
+type Version string
+
+func (v Version) 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())
+       return 0
+}
+
 // Multi is a Handler that looks up its first argument in a map, and
 // invokes the resulting Handler with the remaining args.
 //