in main/utils.go [48:71]
func parseAndCompareExtensionVersions(lg ExtensionLogger, extensions []string) (extension string, err error) {
r, _ := regexp.Compile(GCExtensionVersionRegex)
var versions []string
var match []string
for _, ext := range extensions {
match = r.FindStringSubmatch(ext)
if len(match) != 3 {
return "", errors.New("could not parse extension name from: " + ext)
}
versions = append(versions, match[2])
}
earliestVersion := versions[0]
for _, v := range versions {
if version.Compare(v, earliestVersion, "<") {
earliestVersion = v
}
}
lg.event("Found earliest version of the extension: " + earliestVersion)
return match[1] + "-" + earliestVersion, nil
}