diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..849ddff --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +dist/ diff --git a/cmd/grpcurl/.goreleaser.yml b/cmd/grpcurl/.goreleaser.yml new file mode 100644 index 0000000..2c357c1 --- /dev/null +++ b/cmd/grpcurl/.goreleaser.yml @@ -0,0 +1,22 @@ +builds: + - binary: grpcurl + goos: + - linux + - darwin + - windows + goarch: + - amd64 + - 386 + +archive: + wrap_in_directory: true + format: tar.gz + format_overrides: + - goos: windows + format: zip + replacements: + amd64: x64 + 386: x86 + darwin: macos + files: + - LICENSE diff --git a/cmd/grpcurl/grpcurl.go b/cmd/grpcurl/grpcurl.go index c17eee6..86ca563 100644 --- a/cmd/grpcurl/grpcurl.go +++ b/cmd/grpcurl/grpcurl.go @@ -30,6 +30,8 @@ import ( "github.com/fullstorydev/grpcurl" ) +var version = "" + var ( exit = os.Exit @@ -37,6 +39,8 @@ var ( help = flag.Bool("help", false, `Print usage instructions and exit.`) + printVersion = flag.Bool("version", false, + `Print version.`) plaintext = flag.Bool("plaintext", false, `Use plain-text HTTP/2 when connecting to server (no TLS).`) insecure = flag.Bool("insecure", false, @@ -146,6 +150,10 @@ func main() { usage() os.Exit(0) } + if *printVersion { + fmt.Fprintf(os.Stderr, "%s v%s\n", os.Args[0], version) + os.Exit(0) + } // Do extra validation on arguments and figure out what user asked us to do. if *plaintext && *insecure {