build: Fix syso creation (fixes #6386) (#6387)

This commit is contained in:
Evgeny Kuznetsov 2020-02-28 22:40:14 +03:00 committed by GitHub
parent 58607486af
commit ac19cdb2cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -654,7 +654,11 @@ func shouldBuildSyso(dir string) (string, error) {
} }
jsonPath := filepath.Join(dir, "versioninfo.json") jsonPath := filepath.Join(dir, "versioninfo.json")
ioutil.WriteFile(jsonPath, bs, 0644) err = ioutil.WriteFile(jsonPath, bs, 0644)
if err != nil {
return "", errors.New("failed to create " + jsonPath + ": " + err.Error())
}
defer func() { defer func() {
if err := os.Remove(jsonPath); err != nil { if err := os.Remove(jsonPath); err != nil {
log.Printf("Warning: unable to remove generated %s: %v. Please remove it manually.", jsonPath, err) log.Printf("Warning: unable to remove generated %s: %v. Please remove it manually.", jsonPath, err)
@ -860,13 +864,22 @@ func getVersion() string {
return "unknown-dev" return "unknown-dev"
} }
func semanticVersion() (major, minor, patch, build string) { func semanticVersion() (major, minor, patch, build int) {
r := regexp.MustCompile(`v(?P<Major>\d+)\.(?P<Minor>\d+).(?P<Patch>\d+).*\+(?P<CommitsAhead>\d+)`) r := regexp.MustCompile(`v(?P<Major>\d+)\.(?P<Minor>\d+).(?P<Patch>\d+).*\+(?P<CommitsAhead>\d+)`)
matches := r.FindStringSubmatch(getVersion()) matches := r.FindStringSubmatch(getVersion())
if len(matches) != 5 { if len(matches) != 5 {
return "0", "0", "0", "0" return 0, 0, 0, 0
} }
return matches[1], matches[2], matches[3], matches[4]
var ints [4]int
for i := 1; i < 5; i++ {
value, err := strconv.Atoi(matches[i])
if err != nil {
return 0, 0, 0, 0
}
ints[i-1] = value
}
return ints[0], ints[1], ints[2], ints[3]
} }
func getBranchSuffix() string { func getBranchSuffix() string {