mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-12 15:09:33 +08:00
WIP
This commit is contained in:
parent
ddb875f788
commit
bea8aa477f
@ -11,11 +11,13 @@ require (
|
|||||||
github.com/matryer/is v1.4.0
|
github.com/matryer/is v1.4.0
|
||||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
|
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
|
||||||
github.com/olekukonko/tablewriter v0.0.4
|
github.com/olekukonko/tablewriter v0.0.4
|
||||||
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/tdewolff/minify v2.3.6+incompatible
|
github.com/tdewolff/minify v2.3.6+incompatible
|
||||||
github.com/tdewolff/minify/v2 v2.9.5
|
github.com/tdewolff/minify/v2 v2.9.5
|
||||||
github.com/tdewolff/parse v2.3.4+incompatible // indirect
|
github.com/tdewolff/parse v2.3.4+incompatible // indirect
|
||||||
github.com/xyproto/xpm v1.2.1
|
github.com/xyproto/xpm v1.2.1
|
||||||
golang.org/x/net v0.0.0-20200822124328-c89045814202
|
golang.org/x/net v0.0.0-20200822124328-c89045814202
|
||||||
|
golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c
|
||||||
golang.org/x/tools v0.0.0-20200902012652-d1954cc86c82
|
golang.org/x/tools v0.0.0-20200902012652-d1954cc86c82
|
||||||
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect
|
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect
|
||||||
nhooyr.io/websocket v1.8.6
|
nhooyr.io/websocket v1.8.6
|
||||||
|
@ -63,6 +63,8 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWb
|
|||||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||||
github.com/olekukonko/tablewriter v0.0.4 h1:vHD/YYe1Wolo78koG299f7V/VAS08c6IpCLn+Ejf/w8=
|
github.com/olekukonko/tablewriter v0.0.4 h1:vHD/YYe1Wolo78koG299f7V/VAS08c6IpCLn+Ejf/w8=
|
||||||
github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA=
|
github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA=
|
||||||
|
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||||
|
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||||
|
29
v2/internal/system/operatingsystem/os_windows.go
Normal file
29
v2/internal/system/operatingsystem/os_windows.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package operatingsystem
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"golang.org/x/sys/windows/registry"
|
||||||
|
)
|
||||||
|
|
||||||
|
func platformInfo() (*OS, error) {
|
||||||
|
// Default value
|
||||||
|
var result OS
|
||||||
|
result.ID = "Unknown"
|
||||||
|
result.Name = "Windows"
|
||||||
|
result.Version = "Unknown"
|
||||||
|
|
||||||
|
// Credit: https://stackoverflow.com/a/33288328
|
||||||
|
// Ignore errors as it isn't a showstopper
|
||||||
|
key, _ := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion`, registry.QUERY_VALUE)
|
||||||
|
|
||||||
|
defer key.Close()
|
||||||
|
|
||||||
|
fmt.Printf("%+v\n", key)
|
||||||
|
|
||||||
|
// Ignore errors as it isn't a showstopper
|
||||||
|
productName, _, _ := key.GetStringValue("ProductName")
|
||||||
|
fmt.Println(productName)
|
||||||
|
|
||||||
|
return nil, nil
|
||||||
|
}
|
@ -2,14 +2,20 @@
|
|||||||
|
|
||||||
package system
|
package system
|
||||||
|
|
||||||
import (
|
import "github.com/wailsapp/wails/v2/internal/system/operatingsystem"
|
||||||
"fmt"
|
|
||||||
"syscall"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (i *Info) discover() {
|
func (i *Info) discover() error {
|
||||||
dll := syscall.MustLoadDLL("kernel32.dll")
|
|
||||||
p := dll.MustFindProc("GetVersion")
|
var err error
|
||||||
v, _, _ := p.Call()
|
osinfo, err := operatingsystem.Info()
|
||||||
fmt.Printf("Windows version %d.%d (Build %d)\n", byte(v), uint8(v>>8), uint16(v>>16))
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
i.OS = osinfo
|
||||||
|
|
||||||
|
// dll := syscall.MustLoadDLL("kernel32.dll")
|
||||||
|
// p := dll.MustFindProc("GetVersion")
|
||||||
|
// v, _, _ := p.Call()
|
||||||
|
// fmt.Printf("Windows version %d.%d (Build %d)\n", byte(v), uint8(v>>8), uint16(v>>16))
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
40
v2/pkg/commands/build/backendjs.go
Normal file
40
v2/pkg/commands/build/backendjs.go
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
package build
|
||||||
|
|
||||||
|
import (
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
|
"github.com/pkg/errors"
|
||||||
|
"github.com/wailsapp/wails/v2/internal/fs"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GenerateBackendJSPackage will attempt to create the backend javascript package
|
||||||
|
// used by the frontend to access methods and structs
|
||||||
|
func GenerateBackendJSPackage(options *Options) error {
|
||||||
|
|
||||||
|
// Create directory
|
||||||
|
err := createBackendJSDirectory()
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "Error Generating Backend JS Package")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate index.js
|
||||||
|
|
||||||
|
// Generate Method wrappers
|
||||||
|
// err = generateMethodWrappers()
|
||||||
|
|
||||||
|
// Generate Structs
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func createBackendJSDirectory() error {
|
||||||
|
|
||||||
|
// Path to package dir
|
||||||
|
packageDir, err := filepath.Abs("./frontend/backend")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return fs.Mkdir(packageDir)
|
||||||
|
}
|
@ -89,6 +89,14 @@ func Build(options *Options) (string, error) {
|
|||||||
// Initialise Builder
|
// Initialise Builder
|
||||||
builder.SetProjectData(projectData)
|
builder.SetProjectData(projectData)
|
||||||
|
|
||||||
|
// Generate Frontend JS Package
|
||||||
|
outputLogger.Print(" - Generating Backend JS Package")
|
||||||
|
err = GenerateBackendJSPackage(options)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
outputLogger.Println("done.")
|
||||||
|
|
||||||
if !options.IgnoreFrontend {
|
if !options.IgnoreFrontend {
|
||||||
outputLogger.Println(" - Building Wails Frontend")
|
outputLogger.Println(" - Building Wails Frontend")
|
||||||
err = builder.BuildFrontend(outputLogger)
|
err = builder.BuildFrontend(outputLogger)
|
||||||
@ -115,6 +123,7 @@ func Build(options *Options) (string, error) {
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
outputLogger.Println("done.")
|
outputLogger.Println("done.")
|
||||||
|
|
||||||
// Do we need to pack the app?
|
// Do we need to pack the app?
|
||||||
if options.Pack {
|
if options.Pack {
|
||||||
|
|
||||||
|
6
v2/pkg/commands/build/packager_windows.go
Normal file
6
v2/pkg/commands/build/packager_windows.go
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
package build
|
||||||
|
|
||||||
|
func packageApplication(options *Options) error {
|
||||||
|
// TBD
|
||||||
|
return nil
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user