aboutsummaryrefslogtreecommitdiffstats
path: root/client/go/internal/cli/cmd/vespa/main.go
blob: ade27680230843b4f0a56d46573af9e0386eeb99 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
// Entrypoint for Vespa CLI
// Author: bratseth

package main

import (
	"fmt"
	"os"

	"github.com/vespa-engine/vespa/client/go/internal/cli/cmd"
)

func fatal(status int, err error) {
	if err != nil {
		fmt.Fprintln(os.Stderr, err)
	}
	os.Exit(status)
}

func main() {
	cli, err := cmd.New(os.Stdout, os.Stderr, os.Environ())
	if err != nil {
		fatal(1, err)
	}
	if err := cli.Run(); err != nil {
		if cliErr, ok := err.(cmd.ErrCLI); ok {
			fatal(cliErr.Status, nil)
		} else {
			fatal(1, nil)
		}
	}
}