Skip to content

Commit

Permalink
add -V/--version flag to go implementations (#295)
Browse files Browse the repository at this point in the history
Uses goreleaser to pass ldflags.

Signed-off-by: Ahmet Alp Balkan <[email protected]>
  • Loading branch information
ahmetb authored Apr 9, 2021
1 parent 3504e66 commit 34e9024
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 3 deletions.
3 changes: 3 additions & 0 deletions cmd/kubectx/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ func parseArgs(argv []string) Op {
if v == "--help" || v == "-h" {
return HelpOp{}
}
if v == "--version" || v == "-V" {
return VersionOp{}
}
if v == "--current" || v == "-c" {
return CurrentOp{}
}
Expand Down
5 changes: 3 additions & 2 deletions cmd/kubectx/help.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,12 @@ func printUsage(out io.Writer) error {
%PROG% -c, --current : show the current context name
%PROG% <NEW_NAME>=<NAME> : rename context <NAME> to <NEW_NAME>
%PROG% <NEW_NAME>=. : rename current-context to <NEW_NAME>
%PROG% -u, --unset : unset the current context
%PROG% -u, --unset : unset the current context
%PROG% -d <NAME> [<NAME...>] : delete context <NAME> ('.' for current-context)
%SPAC% (this command won't delete the user/cluster entry
%SPAC% referenced by the context entry)
%PROG% -h,--help : show this message`
%PROG% -h,--help : show this message
%PROG% -V,--version : show version`
help = strings.ReplaceAll(help, "%PROG%", selfName())
help = strings.ReplaceAll(help, "%SPAC%", strings.Repeat(" ", len(selfName())))

Expand Down
20 changes: 20 additions & 0 deletions cmd/kubectx/version.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package main

import (
"fmt"
"io"

"github.com/pkg/errors"
)

var (
version = "v0.0.0+unknown" // populated by goreleaser
)

// VersionOps describes printing version string.
type VersionOp struct{}

func (_ VersionOp) Run(stdout, _ io.Writer) error {
_, err := fmt.Fprintf(stdout, "%s\n", version)
return errors.Wrap(err, "write error")
}
3 changes: 3 additions & 0 deletions cmd/kubens/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ func parseArgs(argv []string) Op {
if v == "--help" || v == "-h" {
return HelpOp{}
}
if v == "--version" || v == "-V" {
return VersionOp{}
}
if v == "--current" || v == "-c" {
return CurrentOp{}
}
Expand Down
3 changes: 2 additions & 1 deletion cmd/kubens/help.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ func printUsage(out io.Writer) error {
%PROG% - : switch to the previous namespace in this context
%PROG% -c, --current : show the current namespace
%PROG% -h,--help : show this message
`
%PROG% -V,--version : show version`

// TODO this replace logic is duplicated between this and kubectx
help = strings.ReplaceAll(help, "%PROG%", selfName())

Expand Down
20 changes: 20 additions & 0 deletions cmd/kubens/version.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package main

import (
"fmt"
"io"

"github.com/pkg/errors"
)

var (
version = "v0.0.0+unknown" // populated by goreleaser
)

// VersionOps describes printing version string.
type VersionOp struct{}

func (_ VersionOp) Run(stdout, _ io.Writer) error {
_, err := fmt.Fprintf(stdout, "%s\n", version)
return errors.Wrap(err, "write error")
}

0 comments on commit 34e9024

Please sign in to comment.