version.go 834 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package utils
  2. const version = "0.1.0-dev"
  3. var (
  4. commit = ""
  5. date = ""
  6. versionInfo VersionInfo
  7. )
  8. // VersionInfo defines version details
  9. type VersionInfo struct {
  10. Version string `json:"version"`
  11. BuildDate string `json:"build_date"`
  12. CommitHash string `json:"commit_hash"`
  13. }
  14. func init() {
  15. versionInfo = VersionInfo{
  16. Version: version,
  17. CommitHash: commit,
  18. BuildDate: date,
  19. }
  20. }
  21. // GetVersionAsString returns the string representation of the VersionInfo struct
  22. func (v *VersionInfo) GetVersionAsString() string {
  23. versionString := v.Version
  24. if len(v.CommitHash) > 0 {
  25. versionString += "-" + v.CommitHash
  26. }
  27. if len(v.BuildDate) > 0 {
  28. versionString += "-" + v.BuildDate
  29. }
  30. return versionString
  31. }
  32. // GetAppVersion returns VersionInfo struct
  33. func GetAppVersion() VersionInfo {
  34. return versionInfo
  35. }