mirror of
https://github.com/SagerNet/sing-box.git
synced 2026-10-21 19:44:13 +00:00
Fix version quoting in Apple project update script
This commit is contained in:
parent
077a4a0b54
commit
cdb88a33ac
1 changed files with 11 additions and 1 deletions
|
|
@ -8,6 +8,7 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/sagernet/sing-box/cmd/internal/build_shared"
|
||||
"github.com/sagernet/sing-box/common/badversion"
|
||||
"github.com/sagernet/sing-box/log"
|
||||
"github.com/sagernet/sing/common"
|
||||
|
||||
|
|
@ -76,11 +77,20 @@ func findAndReplace(objectsMap map[string]any, projectContent string, bundleIDLi
|
|||
continue
|
||||
}
|
||||
updated = true
|
||||
projectContent = projectContent[:versionStart] + "\"" + newVersion + "\"" + projectContent[versionEnd:]
|
||||
projectContent = projectContent[:versionStart] + formatProjectVersion(newVersion) + projectContent[versionEnd:]
|
||||
}
|
||||
return projectContent, updated
|
||||
}
|
||||
|
||||
// Xcode serializes a version without quotes unless it contains a pre-release
|
||||
// part; always quoting makes Xcode rewrite the value on the next save.
|
||||
func formatProjectVersion(version string) string {
|
||||
if badversion.Parse(version).PreReleaseIdentifier == "" {
|
||||
return version
|
||||
}
|
||||
return "\"" + version + "\""
|
||||
}
|
||||
|
||||
func findAndReplaceProjectVersion(objectsMap map[string]any, projectContent string, directoryList []string, newVersion string) (string, bool) {
|
||||
objectKeyList := findObjectKeyByDirectory(objectsMap, directoryList)
|
||||
var updated bool
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue