Merge pull request #16 from eunomie/version

Version command
This commit is contained in:
Yves Brissaud 2023-01-13 10:18:07 +01:00 коммит произвёл GitHub
Родитель 1977311d69 c3df0d4631
Коммит 065626deec
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 25 добавлений и 2 удалений

Просмотреть файл

@ -22,7 +22,6 @@ builds:
-s
-extldflags '-static'
-X github.com/docker/index-cli-plugin/internal.version={{.Version}}
-X github.com/docker/index-cli-plugin/internal.commit={{.Commit}}
archives:
- format: tar.gz

Просмотреть файл

@ -24,6 +24,8 @@ import (
"os"
"strings"
"github.com/docker/index-cli-plugin/internal"
"github.com/moby/term"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
@ -243,7 +245,18 @@ func NewRootCmd(name string, isPlugin bool, dockerCli command.Cli) *cobra.Comman
},
}
cmd.AddCommand(loginCommand, logoutCommand, sbomCommand, cveCommand, uploadCommand, diffCommand, watchCommand)
versionCommand := &cobra.Command{
Use: "version",
Short: "Print version",
Args: cobra.NoArgs,
Run: func(_ *cobra.Command, _ []string) {
v := internal.FromBuild()
fmt.Printf("version: %s (%s - %s)\n", v.Version, v.GoVersion, v.Platform)
fmt.Println("git commit:", v.Commit)
},
}
cmd.AddCommand(loginCommand, logoutCommand, sbomCommand, cveCommand, uploadCommand, diffCommand, watchCommand, versionCommand)
return cmd
}

Просмотреть файл

@ -22,6 +22,7 @@ package internal
import (
"fmt"
"runtime"
"runtime/debug"
)
// build-time arguments
@ -30,6 +31,16 @@ var (
commit = "n/a"
)
func init() {
if info, ok := debug.ReadBuildInfo(); ok {
for _, setting := range info.Settings {
if setting.Key == "vcs.revision" {
commit = setting.Value
}
}
}
}
// Version information from build time args and environment
type Version struct {
Version string