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