Files
build-emacs-for-macos/cmd/github-release/os_info.go

45 lines
646 B
Go

package main
import (
"os/exec"
"strings"
)
var OSInfo = &osInfo{}
type osInfo struct {
version string
arch string
}
func (s *osInfo) Arch() string {
if s.arch != "" {
return s.arch
}
cmd, err := exec.Command("uname", "-m").CombinedOutput()
if err != nil {
panic(err)
}
s.arch = strings.TrimSpace(string(cmd))
return s.arch
}
func (s *osInfo) Version() string {
if s.version != "" {
return s.version
}
cmd, err := exec.Command("sw_vers", "-productVersion").CombinedOutput()
if err != nil {
panic(err)
}
parts := strings.Split(string(cmd), ".")
s.version = strings.Join(parts[0:2], ".")
return s.version
}