mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-08 12:00:43 +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/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
|
||||
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 v2.9.5
|
||||
github.com/tdewolff/parse v2.3.4+incompatible // indirect
|
||||
github.com/xyproto/xpm v1.2.1
|
||||
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
|
||||
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect
|
||||
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/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/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/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
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
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"syscall"
|
||||
)
|
||||
import "github.com/wailsapp/wails/v2/internal/system/operatingsystem"
|
||||
|
||||
func (i *Info) discover() {
|
||||
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))
|
||||
func (i *Info) discover() error {
|
||||
|
||||
var err error
|
||||
osinfo, err := operatingsystem.Info()
|
||||
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
|
||||
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 {
|
||||
outputLogger.Println(" - Building Wails Frontend")
|
||||
err = builder.BuildFrontend(outputLogger)
|
||||
@ -115,6 +123,7 @@ func Build(options *Options) (string, error) {
|
||||
return "", err
|
||||
}
|
||||
outputLogger.Println("done.")
|
||||
|
||||
// Do we need to pack the app?
|
||||
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