diff options
Diffstat (limited to 'vendor/github.com/mcuadros/go-version/normalize.go')
-rw-r--r-- | vendor/github.com/mcuadros/go-version/normalize.go | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/vendor/github.com/mcuadros/go-version/normalize.go b/vendor/github.com/mcuadros/go-version/normalize.go deleted file mode 100644 index e2945c9ab6..0000000000 --- a/vendor/github.com/mcuadros/go-version/normalize.go +++ /dev/null @@ -1,116 +0,0 @@ -package version - -import ( - "regexp" - "strings" -) - -var modifierRegex = `[._-]?(?:(stable|beta|b|RC|alpha|a|patch|pl|p)(?:[.-]?(\d+))?)?([.-]?dev)?` - -var regexpMasterLikeBranches = regexp.MustCompile(`^(?:dev-)?(?:master|trunk|default)$`) -var regexpBranchNormalize = regexp.MustCompile(`(?i)^v?(\d+)(\.(?:\d+|[x*]))?(\.(?:\d+|[x*]))?(\.(?:\d+|[x*]))?$`) - -// Normalizes a version string to be able to perform comparisons on it -// -// Example: -// version.Normalize("10.4.13-b") -// Returns: 10.4.13.0-beta -// -func Normalize(version string) string { - - // ignore aliases and just assume the alias is required instead of the source - result := RegFind(`^([^,\s]+) +as +([^,\s]+)$`, version) - if result != nil { - version = result[1] - } - - // match master-like branches - if regexpMasterLikeBranches.MatchString(strings.ToLower(version)) { - return "9999999-dev" - } - - if strings.HasPrefix(strings.ToLower(version), "dev-") { - return "dev-" + version[4:len(version)] - } - - index := 0 - - // match classical versioning - result = RegFind(`(?i)^v?(\d{1,3})(\.\d+)?(\.\d+)?(\.\d+)?`+modifierRegex+`$`, version) - if result != nil { - version = "" - for _, val := range result[1:5] { - if val != "" { - version = version + val - } else { - version = version + ".0" - } - } - - index = 5 - } else { - // match date-based versioning - result = RegFind(`(?i)^v?(\d{4}(?:[.:-]?\d{2}){1,6}(?:[.:-]?\d{1,3})?)`+modifierRegex+`$`, version) - if result != nil { - version = regexp.MustCompile(`\D`).ReplaceAllString(result[1], "-") - index = 2 - } - } - - if index != 0 { - if result[index] != "" { - if result[index] == "stable" { - return version - } - - version = version + "-" + expandStability(result[index]) - if result[index+1] != "" { - version = version + result[index+1] - } - } - - if result[index+2] != "" { - version = version + "-dev" - } - - return version - } - - result = RegFind(`(?i)(.*?)[.-]?dev$`, version) - if result != nil { - return normalizeBranch(result[1]) - } - - return version -} - -func normalizeBranch(name string) string { - name = strings.Trim(name, " ") - - if name == "master" || name == "trunk" || name == "default" { - return Normalize(name) - } - - replace := strings.NewReplacer("*", "9999999", "x", "9999999") - - matched := regexpBranchNormalize.FindAllStringSubmatch(name, -1) - if matched != nil { - name = "" - for _, val := range matched[0][1:5] { - if val != "" { - name = name + replace.Replace(val) - } else { - name = name + ".9999999" - } - } - - return name + "-dev" - - } - - if strings.HasSuffix(strings.ToLower(name), "-dev") { - return name - } - - return "dev-" + name -} |