micro/tools/info-plist.go

52 lines
1.1 KiB
Go
Raw Normal View History

2022-07-15 21:40:32 +03:00
//go:build ignore
// +build ignore
2021-08-22 01:07:43 +03:00
package main
import (
2017-02-21 21:07:37 +03:00
"fmt"
"io/ioutil"
"os"
2022-07-22 03:46:23 +03:00
"runtime"
)
func check(e error) {
2017-02-21 21:07:37 +03:00
if e != nil {
panic(e)
}
}
func main() {
2022-07-22 03:54:01 +03:00
if runtime.GOOS != "darwin" {
return
}
2022-07-15 21:40:32 +03:00
if len(os.Args) == 3 {
2022-07-22 03:46:23 +03:00
if os.Args[1] == "darwin" && runtime.GOOS == "darwin" {
2017-02-21 21:07:37 +03:00
rawInfoPlistString := `<?xml version="1.0" encoding="UTF-8"?>
2022-07-15 21:40:32 +03:00
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>io.github.micro-editor</string>
<key>CFBundleName</key>
<string>micro</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>` + os.Args[2] + `</string>
</dict>
</plist>
`
2017-02-21 21:07:37 +03:00
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")
}
2022-07-15 21:40:32 +03:00
} else {
panic("missing arguments")
2017-02-21 21:07:37 +03:00
}
}