Added all required dependencies
This commit is contained in:
parent
78f86abba4
commit
1ebb35b988
660 changed files with 502447 additions and 0 deletions
116
vendor/github.com/mcuadros/go-version/normalize.go
generated
vendored
Normal file
116
vendor/github.com/mcuadros/go-version/normalize.go
generated
vendored
Normal file
|
@ -0,0 +1,116 @@
|
|||
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
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue