5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-04 03:40:45 +08:00

Support wails doctor for Mac

This commit is contained in:
Lea Anthony 2020-12-30 00:18:59 +11:00
parent f77626490f
commit 02ef02ec9e
No known key found for this signature in database
GPG Key ID: 33DAF7BB90A58405
2 changed files with 44 additions and 19 deletions

View File

@ -1,6 +1,18 @@
package operatingsystem package operatingsystem
import "github.com/wailsapp/wails/v2/internal/shell" import (
"github.com/wailsapp/wails/v2/internal/shell"
"strings"
)
func getSysctlValue(key string) (string, error) {
stdout, _, err := shell.RunCommand(".", "sysctl", key)
if err != nil {
return "", err
}
version := strings.TrimPrefix(stdout, key+": ")
return strings.TrimSpace(version), nil
}
func platformInfo() (*OS, error) { func platformInfo() (*OS, error) {
// Default value // Default value
@ -9,22 +21,28 @@ func platformInfo() (*OS, error) {
result.Name = "MacOS" result.Name = "MacOS"
result.Version = "Unknown" result.Version = "Unknown"
stdout, stderr, err := shell.RunCommand(".", "sysctl", "kern.osrelease") version, err := getSysctlValue("kern.osproductversion")
println(stdout) if err != nil {
println(stderr) return nil, err
println(err) }
// cmd := CreateCommand(directory, command, args...) result.Version = version
// var stdo, stde bytes.Buffer ID, err := getSysctlValue("kern.osrevision")
// cmd.Stdout = &stdo if err != nil {
// cmd.Stderr = &stde return nil, err
// err := cmd.Run() }
// return stdo.String(), stde.String(), err result.ID = ID
// }
// sysctl := shell.NewCommand("sysctl")
// kern.ostype: Darwin
// kern.osrelease: 20.1.0
// kern.osrevision: 199506
// cmd := CreateCommand(directory, command, args...)
// var stdo, stde bytes.Buffer
// cmd.Stdout = &stdo
// cmd.Stderr = &stde
// err := cmd.Run()
// return stdo.String(), stde.String(), err
// }
// sysctl := shell.NewCommand("sysctl")
// kern.ostype: Darwin
// kern.osrelease: 20.1.0
// kern.osrevision: 199506
return nil, nil return &result, nil
} }

View File

@ -2,7 +2,14 @@
package system package system
func (i *Info) discover() error { import "github.com/wailsapp/wails/v2/internal/system/operatingsystem"
func (i *Info) discover() error {
var err error
osinfo, err := operatingsystem.Info()
if err != nil {
return err
}
i.OS = osinfo
return nil return nil
} }