github.com/yanndegat/hiera@v0.6.8/cli/version.go (about) 1 package cli 2 3 import "fmt" 4 5 var ( 6 // BuildTag set at build time, empty if not a tagged version 7 BuildTag string 8 // BuildTime set at build time 9 BuildTime string 10 // BuildSHA set at build time 11 BuildSHA string 12 ) 13 14 type version struct { 15 buildTag string 16 buildTime string 17 buildSHA string 18 } 19 20 // Get the structured version 21 func getVersion() *version { 22 tag := BuildTag 23 if len(tag) == 0 { 24 tag = "dirty" 25 } 26 27 return &version{ 28 buildTag: tag, 29 buildTime: BuildTime, 30 buildSHA: BuildSHA, 31 } 32 } 33 34 // String returns a simplified version string consisting of <Git SHA>-<Git Tag> 35 func (v *version) String() string { 36 return fmt.Sprintf("%s-%s", v.buildSHA, v.buildTag) 37 }