diff options
author | =Corey Hulen <corey@hulen.com> | 2016-02-01 14:44:17 -0800 |
---|---|---|
committer | =Corey Hulen <corey@hulen.com> | 2016-02-01 14:44:17 -0800 |
commit | b4ec6900510077253290e361d1a706e5368a45de (patch) | |
tree | 6fc7c131fa7aa5f32e3aba8102416aa23c65963d /model/version.go | |
parent | ea71731f838fc010cfc7511c09875184d1b2396b (diff) | |
parent | f28486c4553f7f4bccf7bf69153c2f12699705f9 (diff) | |
download | chat-b4ec6900510077253290e361d1a706e5368a45de.tar.gz chat-b4ec6900510077253290e361d1a706e5368a45de.tar.bz2 chat-b4ec6900510077253290e361d1a706e5368a45de.zip |
Fixing merge
Diffstat (limited to 'model/version.go')
-rw-r--r-- | model/version.go | 69 |
1 files changed, 45 insertions, 24 deletions
diff --git a/model/version.go b/model/version.go index 4a642d017..a5227f328 100644 --- a/model/version.go +++ b/model/version.go @@ -4,6 +4,7 @@ package model import ( + "fmt" "strconv" "strings" ) @@ -25,10 +26,27 @@ var versions = []string{ } var CurrentVersion string = versions[0] -var BuildNumber = "dev" -var BuildDate = "Fri Jan 8 14:19:26 UTC 2016" -var BuildHash = "001a4448ca5fb0018eeb442915b473b121c04bf3" -var BuildEnterpriseReady = "false" + +var BuildNumber = "_BUILD_NUMBER_" +var BuildDate = "_BUILD_DATE_" +var BuildHash = "_BUILD_HASH_" +var BuildEnterpriseReady = "_BUILD_ENTERPRISE_READY_" +var versionsWithoutHotFixes []string + +func init() { + versionsWithoutHotFixes = make([]string, 0, len(versions)) + seen := make(map[string]string) + + for _, version := range versions { + maj, min, _ := SplitVersion(version) + verStr := fmt.Sprintf("%v.%v.0", maj, min) + + if seen[verStr] == "" { + versionsWithoutHotFixes = append(versionsWithoutHotFixes, verStr) + seen[verStr] = verStr + } + } +} func SplitVersion(version string) (int64, int64, int64) { parts := strings.Split(version, ".") @@ -52,25 +70,17 @@ func SplitVersion(version string) (int64, int64, int64) { return major, minor, patch } -func GetPreviousVersion(currentVersion string) (int64, int64) { - currentIndex := -1 - currentMajor, currentMinor, _ := SplitVersion(currentVersion) - - for index, version := range versions { - major, minor, _ := SplitVersion(version) - - if currentMajor == major && currentMinor == minor { - currentIndex = index - } +func GetPreviousVersion(version string) string { + verMajor, verMinor, _ := SplitVersion(version) + verStr := fmt.Sprintf("%v.%v.0", verMajor, verMinor) - if currentIndex >= 0 { - if currentMajor != major || currentMinor != minor { - return major, minor - } + for index, v := range versionsWithoutHotFixes { + if v == verStr && len(versionsWithoutHotFixes) > index+1 { + return versionsWithoutHotFixes[index+1] } } - return 0, 0 + return "" } func IsOfficalBuild() bool { @@ -88,13 +98,24 @@ func IsCurrentVersion(versionToCheck string) bool { } } -func IsPreviousVersion(versionToCheck string) bool { +func IsPreviousVersionsSupported(versionToCheck string) bool { toCheckMajor, toCheckMinor, _ := SplitVersion(versionToCheck) - prevMajor, prevMinor := GetPreviousVersion(CurrentVersion) + versionToCheckStr := fmt.Sprintf("%v.%v.0", toCheckMajor, toCheckMinor) - if toCheckMajor == prevMajor && toCheckMinor == prevMinor { + // Current Supported + if versionsWithoutHotFixes[0] == versionToCheckStr { + return true + } + + // Current - 1 Supported + if versionsWithoutHotFixes[1] == versionToCheckStr { return true - } else { - return false } + + // Current - 2 Supported + if versionsWithoutHotFixes[2] == versionToCheckStr { + return true + } + + return false } |