X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c02ceff00fce94ec5794b53fe890f681acf31121..09d4326a8a853f9a5f05acb434d92c06156ec107:/lib/cli/external.go diff --git a/lib/cli/external.go b/lib/cli/external.go index ba85aae9ea..7d9bb6f200 100644 --- a/lib/cli/external.go +++ b/lib/cli/external.go @@ -12,7 +12,7 @@ import ( "strings" "syscall" - "git.curoverse.com/arvados.git/lib/cmd" + "git.arvados.org/arvados.git/lib/cmd" ) var ( @@ -22,7 +22,6 @@ var ( Copy = externalCmd{"arv-copy"} Tag = externalCmd{"arv-tag"} Ws = externalCmd{"arv-ws"} - Run = externalCmd{"arv-run"} Keep = cmd.Multi(map[string]cmd.Handler{ "get": externalCmd{"arv-get"}, @@ -31,9 +30,6 @@ var ( "normalize": externalCmd{"arv-normalize"}, "docker": externalCmd{"arv-keepdocker"}, }) - Pipeline = cmd.Multi(map[string]cmd.Handler{ - "run": externalCmd{"arv-run-pipeline-instance"}, - }) // user, group, container, specimen, etc. APICall = apiCallCmd{} ) @@ -92,8 +88,33 @@ func (ec externalCmd) RunCommand(prog string, args []string, stdin io.Reader, st } fmt.Fprintf(stderr, "%s failed: %s\n", ec.prog, err) return 1 + case *exec.Error: + fmt.Fprintln(stderr, err) + if ec.prog == "arv" { + fmt.Fprint(stderr, rubyInstallHints) + } else if strings.HasPrefix(ec.prog, "arv-") { + fmt.Fprint(stderr, pythonInstallHints) + } + return 1 default: fmt.Fprintf(stderr, "error running %s: %s\n", ec.prog, err) return 1 } } + +var ( + rubyInstallHints = ` +Note: This subcommand uses the arvados-cli Ruby gem. If that is not +installed, try "gem install arvados-cli", or see +https://doc.arvados.org/install for more details. + +` + pythonInstallHints = ` +Note: This subcommand uses the "arvados" Python module. If that is +not installed, try: +* "pip install arvados" (either as root or in a virtualenv), or +* "sudo apt-get install python3-arvados-python-client", or +* see https://doc.arvados.org/install for more details. + +` +)