Add -v to output version number

This commit is contained in:
z0mbix 2021-11-16 15:30:33 +00:00
parent d536a659bd
commit d63de52458
No known key found for this signature in database
GPG key ID: FFCE5C105D81AB88
4 changed files with 25 additions and 1 deletions

View file

@ -20,6 +20,7 @@ builds:
- -a
ldflags:
- -extldflags "-static"
- -X github.com/yannh/kubeconform/pkg/config.version={{.Tag}}
archives:
- format: tar.gz
@ -58,4 +59,4 @@ changelog:
sort: asc
filters:
exclude:
- '^test:'
- '^test:'

View file

@ -48,6 +48,8 @@ func realMain() int {
cfg, out, err := config.FromFlags(os.Args[0], os.Args[1:])
if cfg.Help {
return 0
} else if cfg.Version {
return 0
} else if out != "" {
fmt.Println(out)
return 1

View file

@ -8,6 +8,8 @@ import (
"strings"
)
var version = "development"
type Config struct {
Cache string
CPUProfileFile string
@ -26,6 +28,7 @@ type Config struct {
IgnoreMissingSchemas bool
IgnoreFilenamePatterns []string
Help bool
Version bool
}
type arrayParam []string
@ -79,6 +82,7 @@ func FromFlags(progName string, args []string) (Config, string, error) {
flags.StringVar(&c.Cache, "cache", "", "cache schemas downloaded via HTTP to this folder")
flags.StringVar(&c.CPUProfileFile, "cpu-prof", "", "debug - log CPU profiling to file")
flags.BoolVar(&c.Help, "h", false, "show help information")
flags.BoolVar(&c.Version, "v", false, "show version information")
flags.Usage = func() {
fmt.Fprintf(os.Stderr, "Usage: %s [OPTION]... [FILE OR FOLDER]...\n", progName)
@ -98,5 +102,9 @@ func FromFlags(progName string, args []string) (Config, string, error) {
flags.Usage()
}
if c.Version {
fmt.Println(version)
}
return c, buf.String(), err
}

View file

@ -70,6 +70,19 @@ func TestFromFlags(t *testing.T) {
RejectKinds: map[string]struct{}{},
},
},
{
[]string{"-v"},
Config{
Files: []string{},
Version: true,
KubernetesVersion: "master",
NumberOfWorkers: 4,
OutputFormat: "text",
SchemaLocations: nil,
SkipKinds: map[string]struct{}{},
RejectKinds: map[string]struct{}{},
},
},
{
[]string{"-skip", "a,b,c"},
Config{