mirror of
https://github.com/grdl/git-get.git
synced 2026-02-14 22:50:21 +00:00
Move the version metadata to cfg packageThis way it can be used by multiple binaries.
This commit is contained in:
@@ -3,20 +3,29 @@ before:
|
||||
- go mod download
|
||||
|
||||
builds:
|
||||
- main: ./cmd/main.go
|
||||
binary: "git-get"
|
||||
- id: git-list
|
||||
main: ./cmd/list/main.go
|
||||
binary: git-list
|
||||
ldflags:
|
||||
- -s -w
|
||||
- -X git-get/pkg/cfg.version={{.Version}}
|
||||
- -X git-get/pkg/cfg.commit={{.Commit}}
|
||||
- -X git-get/pkg/cfg.date={{.Date}}
|
||||
goos:
|
||||
- linux
|
||||
- darwin
|
||||
- windows
|
||||
|
||||
archives:
|
||||
- replacements:
|
||||
darwin: macOS
|
||||
linux: Linux
|
||||
windows: Windows
|
||||
386: i386
|
||||
amd64: x86_64
|
||||
- id: archive
|
||||
builds:
|
||||
- git-list
|
||||
replacements:
|
||||
darwin: macOS
|
||||
linux: Linux
|
||||
windows: Windows
|
||||
386: i386
|
||||
amd64: x86_64
|
||||
|
||||
checksum:
|
||||
name_template: 'checksums.txt'
|
||||
|
||||
@@ -13,18 +13,12 @@ import (
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
var (
|
||||
version = "dev"
|
||||
commit = "unknown"
|
||||
date = "unknown"
|
||||
)
|
||||
|
||||
var cmd = &cobra.Command{
|
||||
Use: "git-get <repo>",
|
||||
Short: "git get",
|
||||
Run: Run,
|
||||
Args: cobra.MaximumNArgs(1), // TODO: add custom validator
|
||||
Version: fmt.Sprintf("%s - %s, build at %s", version, commit, date),
|
||||
Version: cfg.Version(),
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package cfg
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"path"
|
||||
"strings"
|
||||
|
||||
@@ -37,6 +38,23 @@ const (
|
||||
OutSimple = "simple"
|
||||
)
|
||||
|
||||
// Version metadata set by ldflags during the build.
|
||||
var (
|
||||
version string
|
||||
commit string
|
||||
date string
|
||||
)
|
||||
|
||||
// Version returns a string with version metadata: version number, git sha and build date.
|
||||
// It returns "development" if version variables are not set during the build.
|
||||
func Version() string {
|
||||
if version == "" {
|
||||
return "development"
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%s - revision %s built at %s", version, commit[:6], date)
|
||||
}
|
||||
|
||||
// gitconfig provides methods for looking up configiration values inside .gitconfig file
|
||||
type gitconfig struct {
|
||||
*config.Config
|
||||
|
||||
Reference in New Issue
Block a user