//go:build ignore // +build ignore package main import ( "fmt" "io/ioutil" "os" "runtime" ) func check(e error) { if e != nil { panic(e) } } func main() { if runtime.GOOS != "darwin" { return } if len(os.Args) == 3 { if os.Args[1] == "darwin" && runtime.GOOS == "darwin" { rawInfoPlistString := ` CFBundleIdentifier io.github.micro-editor CFBundleName micro CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType APPL CFBundleShortVersionString ` + os.Args[2] + ` ` infoPlistData := []byte(rawInfoPlistString) err := ioutil.WriteFile("/tmp/micro-info.plist", infoPlistData, 0644) check(err) fmt.Println("-linkmode external -extldflags -Wl,-sectcreate,__TEXT,__info_plist,/tmp/micro-info.plist") } } else { panic("missing arguments") } }