12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package version
- import (
- "strconv"
- "strings"
- )
- // Version is the service current released version.
- // Semantic versioning: https://semver.org/
- var Version = "0.9.1"
- // DevVersion is the service current development version.
- var DevVersion = "0.9.1"
- func GetCurrentVersion(mode string) string {
- if mode == "dev" {
- return DevVersion
- }
- return Version
- }
- func GetMinorVersion(version string) string {
- versionList := strings.Split(version, ".")
- if len(versionList) < 3 {
- return ""
- }
- return versionList[0] + "." + versionList[1]
- }
- func GetSchemaVersion(version string) string {
- minorVersion := GetMinorVersion(version)
- return minorVersion + ".0"
- }
- // convSemanticVersionToInt converts version string to int.
- func convSemanticVersionToInt(version string) int {
- versionList := strings.Split(version, ".")
- if len(versionList) < 3 {
- return 0
- }
- major, err := strconv.Atoi(versionList[0])
- if err != nil {
- return 0
- }
- minor, err := strconv.Atoi(versionList[1])
- if err != nil {
- return 0
- }
- patch, err := strconv.Atoi(versionList[2])
- if err != nil {
- return 0
- }
- return major*10000 + minor*100 + patch
- }
- // IsVersionGreaterThanOrEqualTo returns true if version is greater than or equal to target.
- func IsVersionGreaterOrEqualThan(version, target string) bool {
- return convSemanticVersionToInt(version) >= convSemanticVersionToInt(target)
- }
- // IsVersionGreaterThan returns true if version is greater than target.
- func IsVersionGreaterThan(version, target string) bool {
- return convSemanticVersionToInt(version) > convSemanticVersionToInt(target)
- }
|