From eb97f7b0a31ab25f92a374397005d97c242b9b66 Mon Sep 17 00:00:00 2001 From: loveuer Date: Fri, 29 Mar 2024 11:30:37 +0800 Subject: [PATCH] feat: add version command --- .github/workflows/build.yml | 3 +++ internal/cmd/cmd.go | 3 +++ internal/cmd/run.go | 5 +++++ internal/opt/version.go | 3 +++ 4 files changed, 14 insertions(+) create mode 100644 internal/opt/version.go diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6196ac4..7c544c4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,6 +16,9 @@ jobs: - name: checkout repository uses: actions/checkout@v4 + - name: fill version + run: sed -i -E "s/v[0-9]+.[0-9]+.[0-9]+/${{ github.ref_name }}/g" internal/opt/version.go + - name: install golang uses: actions/setup-go@v4 with: diff --git a/internal/cmd/cmd.go b/internal/cmd/cmd.go index 91009a7..703e381 100644 --- a/internal/cmd/cmd.go +++ b/internal/cmd/cmd.go @@ -33,10 +33,13 @@ esgo2dump --input=http://127.0.0.1:9200/some_index --output=./data.json --query_ f_query string f_query_file string + + f_version bool ) func init() { rootCommand.Flags().BoolVar(&opt.Debug, "debug", false, "") + rootCommand.Flags().BoolVarP(&f_version, "version", "v", false, "print esgo2dump version") rootCommand.Flags().IntVar(&opt.Timeout, "timeout", 30, "max timeout seconds per operation with limit") rootCommand.Flags().StringVarP(&f_input, "input", "i", "", "*required: input file or es url (example :data.json / http://127.0.0.1:9200/my_index)") diff --git a/internal/cmd/run.go b/internal/cmd/run.go index 22f39e6..f227bad 100644 --- a/internal/cmd/run.go +++ b/internal/cmd/run.go @@ -50,6 +50,11 @@ func run(cmd *cobra.Command, args []string) error { logrus.SetLevel(logrus.DebugLevel) } + if f_version { + logrus.Infof("esgo2dump (Version: %s)", opt.Version) + return nil + } + if err = check(cmd); err != nil { return err } diff --git a/internal/opt/version.go b/internal/opt/version.go new file mode 100644 index 0000000..cf97016 --- /dev/null +++ b/internal/opt/version.go @@ -0,0 +1,3 @@ +package opt + +const Version = "v0.1.2"