From c2724f88a6aadbfeb1f41e89fa66c243243e2471 Mon Sep 17 00:00:00 2001 From: Alexander Staubo Date: Mon, 10 Aug 2020 13:12:31 -0400 Subject: [PATCH] Add --version flag. --- gen_version.sh | 19 +++++++++++++++++++ main.go | 9 ++++++++- version.go | 7 +++++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100755 gen_version.sh create mode 100644 version.go diff --git a/gen_version.sh b/gen_version.sh new file mode 100755 index 0000000..333c95f --- /dev/null +++ b/gen_version.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +v=$(git tag --contains HEAD) +if [ "$v" = "" ]; then + echo "Cannot determine tag." >&2 + exit 1 +fi + +v=$(echo "$v" | sed -Ee 's#^v(.*)#\1#') + +cat <version.go +// Code generated by gen_version.sh, DO NOT EDIT. + +package main + +//go:generate sh -c ./gen_version.sh + +const version = "$v" +END diff --git a/main.go b/main.go index afd961a..1d67ee5 100644 --- a/main.go +++ b/main.go @@ -9,7 +9,7 @@ import ( "github.com/fatih/color" "github.com/spf13/pflag" - "k8s.io/api/core/v1" + v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/kubernetes" _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" @@ -29,6 +29,7 @@ func main() { raw bool tmplString string sinceStart bool + showVersion bool includePatterns []*regexp.Regexp excludePatternStrings []string ) @@ -55,12 +56,18 @@ func main() { flags.BoolVarP(&quiet, "quiet", "q", false, "Don't print events about new/deleted pods") flags.BoolVarP(&sinceStart, "since-start", "s", false, "Start reading log from the beginning of the container's lifetime.") + flags.BoolVarP(&showVersion, "version", "", false, "Show version.") if err := flags.Parse(os.Args[1:]); err != nil { fail(err.Error()) os.Exit(1) } + if showVersion { + fmt.Printf("ktail %s\n", version) + os.Exit(0) + } + var excludePatterns []*regexp.Regexp for _, p := range excludePatternStrings { r, err := regexp.Compile(p) diff --git a/version.go b/version.go new file mode 100644 index 0000000..ca7e1d4 --- /dev/null +++ b/version.go @@ -0,0 +1,7 @@ +// Code generated by gen_version.sh, DO NOT EDIT. + +package main + +//go:generate sh -c ./gen_version.sh + +const version = "1.0.0"