github.com/lyraproj/hiera@v1.0.0-rc4/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  }