mirror of
https://github.com/taigrr/wails.git
synced 2026-04-04 22:22:41 -07:00
Compare commits
23 Commits
v1.7.2-pre
...
v1.7.2-pre
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
01a1288364 | ||
|
|
5cd34e07b9 | ||
|
|
2290f36939 | ||
|
|
670986df5b | ||
|
|
086cd02cd4 | ||
|
|
d8c8dd57fa | ||
|
|
2d158d449a | ||
|
|
04577c242b | ||
|
|
ac0d4493d3 | ||
|
|
b123156331 | ||
|
|
23468ce7c7 | ||
|
|
7b6bb5e259 | ||
|
|
77bd34d601 | ||
|
|
d750077a90 | ||
|
|
71df64087b | ||
|
|
5565f8ba94 | ||
|
|
3bc91f20c5 | ||
|
|
0a15cbaa1d | ||
|
|
c650671265 | ||
|
|
7106c338df | ||
|
|
be2cef4a63 | ||
|
|
ee93f3c1e6 | ||
|
|
b9ffe53732 |
6
.github/workflows/latest-pre.yml
vendored
6
.github/workflows/latest-pre.yml
vendored
@@ -13,10 +13,10 @@ jobs:
|
||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||
steps:
|
||||
|
||||
- name: Set up Go 1.12
|
||||
- name: Set up Go 1.13
|
||||
uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.12
|
||||
go-version: 1.13
|
||||
id: go
|
||||
|
||||
- name: Check out code into the Go module directory
|
||||
@@ -27,6 +27,6 @@ jobs:
|
||||
go get -v -d ./...
|
||||
- name: Build
|
||||
run: go build -v ./cmd/wails
|
||||
|
||||
|
||||
- name: Test
|
||||
run: ./wails version
|
||||
|
||||
6
.github/workflows/pr.yml
vendored
6
.github/workflows/pr.yml
vendored
@@ -13,10 +13,10 @@ jobs:
|
||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||
steps:
|
||||
|
||||
- name: Set up Go 1.12
|
||||
- name: Set up Go 1.13
|
||||
uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.12
|
||||
go-version: 1.13
|
||||
id: go
|
||||
|
||||
- name: Check out code into the Go module directory
|
||||
@@ -27,6 +27,6 @@ jobs:
|
||||
go get -v -d ./...
|
||||
- name: Build
|
||||
run: go build -v ./cmd/wails
|
||||
|
||||
|
||||
- name: Test
|
||||
run: ./wails version
|
||||
8
.github/workflows/release.yml
vendored
8
.github/workflows/release.yml
vendored
@@ -4,7 +4,7 @@ on:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '!**pre**'
|
||||
- '!**pre**'
|
||||
jobs:
|
||||
|
||||
build:
|
||||
@@ -15,10 +15,10 @@ jobs:
|
||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||
steps:
|
||||
|
||||
- name: Set up Go 1.12
|
||||
- name: Set up Go 1.13
|
||||
uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.12
|
||||
go-version: 1.13
|
||||
id: go
|
||||
|
||||
- name: Check out code into the Go module directory
|
||||
@@ -29,6 +29,6 @@ jobs:
|
||||
go get -v -d ./...
|
||||
- name: Build
|
||||
run: go build -v ./cmd/wails
|
||||
|
||||
|
||||
- name: Test
|
||||
run: ./wails version
|
||||
@@ -28,3 +28,6 @@ Wails is what it is because of the time and effort given by these great people.
|
||||
* [msms](https://github.com/sayuthisobri)
|
||||
* [dedo1911](https://github.com/dedo1911)
|
||||
* [Florian Didron](https://github.com/fdidron)
|
||||
* [Christopher Murphy](https://github.com/Splode)
|
||||
* [Zámbó, Levente](https://github.com/Lyimmi)
|
||||
* [artem](https://github.com/Unix4ever)
|
||||
|
||||
@@ -36,7 +36,7 @@ The official docs can be found at [https://wails.app](https://wails.app).
|
||||
|
||||
Wails uses cgo to bind to the native rendering engines so a number of platform dependent libraries are needed as well as an installation of Go. The basic requirements are:
|
||||
|
||||
- Go 1.12
|
||||
- Go 1.13
|
||||
- npm
|
||||
|
||||
### MacOS
|
||||
|
||||
@@ -293,9 +293,11 @@ func BuildApplication(binaryName string, forceRebuild bool, buildMode string, pa
|
||||
fmt.Println(err)
|
||||
}
|
||||
}
|
||||
if projectOptions.Platform == "windows" {
|
||||
helper.CleanWindows(projectOptions)
|
||||
}
|
||||
// Removed by popular demand
|
||||
// TODO: Potentially add a flag to cleanup
|
||||
// if projectOptions.Platform == "windows" {
|
||||
// helper.CleanWindows(projectOptions)
|
||||
// }
|
||||
}()
|
||||
|
||||
if projectOptions.CrossCompile {
|
||||
|
||||
@@ -212,6 +212,8 @@ func (b *PackageHelper) packageOSX(po *ProjectOptions) error {
|
||||
packageID := strings.Join([]string{"wails", name, version}, ".")
|
||||
plistData := newPlistData(name, exe, packageID, version, author)
|
||||
appname := po.Name + ".app"
|
||||
plistFilename := path.Join(build, appname, "Contents", "Info.plist")
|
||||
customPlist := path.Join(b.fs.Cwd(), "info.plist")
|
||||
|
||||
// Check binary exists
|
||||
source := path.Join(build, exe)
|
||||
@@ -230,28 +232,48 @@ func (b *PackageHelper) packageOSX(po *ProjectOptions) error {
|
||||
// Remove the existing package
|
||||
os.RemoveAll(appname)
|
||||
|
||||
// Create directories
|
||||
exeDir := path.Join(build, appname, "/Contents/MacOS")
|
||||
b.fs.MkDirs(exeDir, 0755)
|
||||
resourceDir := path.Join(build, appname, "/Contents/Resources")
|
||||
b.fs.MkDirs(resourceDir, 0755)
|
||||
tmpl := template.New("infoPlist")
|
||||
plistFile := filepath.Join(b.getPackageFileBaseDir(), "info.plist")
|
||||
infoPlist, err := ioutil.ReadFile(plistFile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
tmpl.Parse(string(infoPlist))
|
||||
|
||||
// Write the template to a buffer
|
||||
var tpl bytes.Buffer
|
||||
err = tmpl.Execute(&tpl, plistData)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
filename := path.Join(build, appname, "Contents", "Info.plist")
|
||||
err = ioutil.WriteFile(filename, tpl.Bytes(), 0644)
|
||||
if err != nil {
|
||||
return err
|
||||
// Do we have a custom plist in the project directory?
|
||||
if !fs.FileExists(customPlist) {
|
||||
|
||||
// No - create a new plist from our defaults
|
||||
tmpl := template.New("infoPlist")
|
||||
plistFile := filepath.Join(b.getPackageFileBaseDir(), "info.plist")
|
||||
infoPlist, err := ioutil.ReadFile(plistFile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
tmpl.Parse(string(infoPlist))
|
||||
|
||||
// Write the template to a buffer
|
||||
var tpl bytes.Buffer
|
||||
err = tmpl.Execute(&tpl, plistData)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Save to the package
|
||||
err = ioutil.WriteFile(plistFilename, tpl.Bytes(), 0644)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Also write to project directory for customisation
|
||||
err = ioutil.WriteFile(customPlist, tpl.Bytes(), 0644)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
// Yes - we have a plist. Copy it to the package verbatim
|
||||
err = fs.CopyFile(customPlist, plistFilename)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// Copy executable
|
||||
|
||||
@@ -5,12 +5,11 @@ import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
homedir "github.com/mitchellh/go-homedir"
|
||||
)
|
||||
|
||||
// SystemHelper - Defines everything related to the system
|
||||
@@ -38,12 +37,13 @@ func NewSystemHelper() *SystemHelper {
|
||||
// setSystemDirs calculates the system directories it is interested in
|
||||
func (s *SystemHelper) setSystemDirs() {
|
||||
var err error
|
||||
s.homeDir, err = homedir.Dir()
|
||||
s.homeDir, err = os.UserConfigDir()
|
||||
if err != nil {
|
||||
log.Fatal("Cannot find home directory! Please file a bug report!")
|
||||
}
|
||||
|
||||
// TODO: A better config system
|
||||
s.wailsSystemDir = filepath.Join(s.homeDir, ".wails")
|
||||
s.wailsSystemDir = filepath.Join(s.homeDir, "wails")
|
||||
s.wailsSystemConfig = filepath.Join(s.wailsSystemDir, s.configFilename)
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ func (s *SystemHelper) setup() error {
|
||||
}
|
||||
|
||||
const introText = `
|
||||
Wails is a lightweight framework for creating web-like desktop apps in Go.
|
||||
Wails is a lightweight framework for creating web-like desktop apps in Go.
|
||||
I'll need to ask you a few questions so I can fill in your project templates and then I will try and see if you have the correct dependencies installed. If you don't have the right tools installed, I'll try and suggest how to install them.
|
||||
`
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cmd
|
||||
|
||||
// Version - Wails version
|
||||
const Version = "v1.7.1"
|
||||
const Version = "v1.7.2-pre3"
|
||||
|
||||
@@ -3,9 +3,9 @@ package main
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/leaanthony/spinner"
|
||||
"github.com/mitchellh/go-homedir"
|
||||
"github.com/wailsapp/wails/cmd"
|
||||
)
|
||||
|
||||
@@ -146,7 +146,7 @@ func updateToVersion(targetVersion *cmd.SemanticVersion, force bool) error {
|
||||
updateSpinner.Start("Installing Wails " + desiredVersion)
|
||||
|
||||
// Run command in non module directory
|
||||
homeDir, err := homedir.Dir()
|
||||
homeDir, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
log.Fatal("Cannot find home directory! Please file a bug report!")
|
||||
}
|
||||
|
||||
3
go.mod
3
go.mod
@@ -14,7 +14,6 @@ require (
|
||||
github.com/leaanthony/spinner v0.5.3
|
||||
github.com/mattn/go-colorable v0.1.1 // indirect
|
||||
github.com/mattn/go-isatty v0.0.7 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect
|
||||
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4
|
||||
github.com/pkg/errors v0.8.1 // indirect
|
||||
@@ -29,4 +28,4 @@ require (
|
||||
gopkg.in/yaml.v3 v3.0.0-20190709130402-674ba3eaed22
|
||||
)
|
||||
|
||||
go 1.12
|
||||
go 1.13
|
||||
|
||||
2
go.sum
2
go.sum
@@ -46,8 +46,6 @@ github.com/mattn/go-isatty v0.0.7 h1:UvyT9uN+3r7yLEYSlJsbQGdsaB/a0DlgWP3pql6iwOc
|
||||
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4=
|
||||
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
|
||||
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
|
||||
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 h1:49lOXmGaUpV9Fz3gd7TFZY106KVlPVa5jcYD1gaQf98=
|
||||
|
||||
@@ -152,12 +152,19 @@ func (h *Bridge) NotifyEvent(event *messages.EventData) error {
|
||||
// Marshall the data
|
||||
data, err = json.Marshal(event.Data)
|
||||
if err != nil {
|
||||
h.log.Errorf("Cannot unmarshall JSON data in event: %s ", err.Error())
|
||||
h.log.Errorf("Cannot marshal JSON data in event: %s ", err.Error())
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
message := fmt.Sprintf("window.wails._.Notify('%s','%s')", event.Name, data)
|
||||
// Double encode data to ensure everything is escaped correctly.
|
||||
data, err = json.Marshal(string(data))
|
||||
if err != nil {
|
||||
h.log.Errorf("Cannot marshal JSON data in event: %s ", err.Error())
|
||||
return err
|
||||
}
|
||||
|
||||
message := "window.wails._.Notify('" + event.Name + "'," + string(data) + ")"
|
||||
dead := []*session{}
|
||||
for _, session := range h.sessions {
|
||||
err := session.evalJS(message, notifyMessage)
|
||||
|
||||
@@ -329,7 +329,14 @@ func (w *WebView) NotifyEvent(event *messages.EventData) error {
|
||||
}
|
||||
}
|
||||
|
||||
message := fmt.Sprintf("wails._.Notify('%s','%s')", event.Name, data)
|
||||
// Double encode data to ensure everything is escaped correctly.
|
||||
data, err = json.Marshal(string(data))
|
||||
if err != nil {
|
||||
w.log.Errorf("Cannot marshal JSON data in event: %s ", err.Error())
|
||||
return err
|
||||
}
|
||||
|
||||
message := "window.wails._.Notify('" + event.Name + "'," + string(data) + ")"
|
||||
return w.evalJS(message)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package runtime
|
||||
|
||||
import homedir "github.com/mitchellh/go-homedir"
|
||||
import "os"
|
||||
|
||||
// FileSystem exposes file system utilities to the runtime
|
||||
type FileSystem struct {}
|
||||
type FileSystem struct{}
|
||||
|
||||
// NewFileSystem creates a new FileSystem struct
|
||||
func NewFileSystem() *FileSystem {
|
||||
@@ -12,5 +12,5 @@ func NewFileSystem() *FileSystem {
|
||||
|
||||
// HomeDir returns the user's home directory
|
||||
func (r *FileSystem) HomeDir() (string, error) {
|
||||
return homedir.Dir()
|
||||
return os.UserHomeDir()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user