From 27f852ac6a2a3d36262c9c4422c7cd7ea76d80e2 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sat, 16 Feb 2019 06:58:30 +1100 Subject: [PATCH 1/2] ignoring findstring errors for bridge mode refactored build mode strings --- app.go | 8 ++++---- cmd/build.go | 10 ++++++++++ cmd/helpers.go | 5 +++-- cmd/wails/4_build.go | 4 ++-- cmd/wails/6_serve.go | 4 +++- utils.go | 5 +++++ 6 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 cmd/build.go diff --git a/app.go b/app.go index a7597177a..3427e6aa4 100644 --- a/app.go +++ b/app.go @@ -7,7 +7,7 @@ import ( // -------------------------------- Compile time Flags ------------------------------ // BuildMode indicates what mode we are in -var BuildMode = "prod" +var BuildMode = cmd.BuildModeProd // ---------------------------------------------------------------------------------- @@ -53,7 +53,7 @@ func CreateApp(optionalConfig ...*AppConfig) *App { result.config = appconfig // Set up the CLI if not in release mode - if BuildMode != "prod" { + if BuildMode != BuildModeProd { result.cli = result.setupCli() } else { // Disable Inspector in release mode @@ -65,7 +65,7 @@ func CreateApp(optionalConfig ...*AppConfig) *App { // Run the app func (a *App) Run() error { - if BuildMode != "prod" { + if BuildMode != BuildModeProd { return a.cli.Run() } @@ -82,7 +82,7 @@ func (a *App) start() error { a.log.Info("Starting") // Check if we are to run in headless mode - if BuildMode == "bridge" { + if BuildMode == BuildModeBridge { a.renderer = &Headless{} } diff --git a/cmd/build.go b/cmd/build.go new file mode 100644 index 000000000..945fbfc78 --- /dev/null +++ b/cmd/build.go @@ -0,0 +1,10 @@ +package cmd + +const ( + // BuildModeProd indicates we are building for prod mode + BuildModeProd = "prod" + // BuildModeDebug indicates we are building for debug mode + BuildModeDebug = "debug" + // BuildModeBridge indicates we are building for bridge mode + BuildModeBridge = "bridge" +) diff --git a/cmd/helpers.go b/cmd/helpers.go index 6a5e600ae..d4af20caf 100644 --- a/cmd/helpers.go +++ b/cmd/helpers.go @@ -49,7 +49,8 @@ func InstallGoDependencies() error { // BuildApplication will attempt to build the project based on the given inputs func BuildApplication(binaryName string, forceRebuild bool, buildMode string) error { compileMessage := "Packing + Compiling project" - if buildMode == "debug" { + + if buildMode == BuildModeDebug { compileMessage += " (Debug Mode)" } @@ -72,7 +73,7 @@ func BuildApplication(binaryName string, forceRebuild bool, buildMode string) er // Setup ld flags ldflags := "-w -s " - if buildMode == "debug" { + if buildMode == BuildModeDebug { ldflags = "" } ldflags += "-X github.com/wailsapp/wails.BuildMode=" + buildMode diff --git a/cmd/wails/4_build.go b/cmd/wails/4_build.go index 8ed2fa9eb..857497733 100644 --- a/cmd/wails/4_build.go +++ b/cmd/wails/4_build.go @@ -89,9 +89,9 @@ func init() { } // Build application - buildMode := "prod" + buildMode := cmd.BuildModeProd if debugMode { - buildMode = "debug" + buildMode = cmd.BuildModeDebug } err = cmd.BuildApplication(projectOptions.BinaryName, forceRebuild, buildMode) if err != nil { diff --git a/cmd/wails/6_serve.go b/cmd/wails/6_serve.go index 50b1e66e2..528238e82 100644 --- a/cmd/wails/6_serve.go +++ b/cmd/wails/6_serve.go @@ -62,6 +62,8 @@ func init() { } // Save project directory + // TODO: Remove compiling frontend once packr + // allows optional boxes projectDir := fs.Cwd() // Install deps @@ -84,7 +86,7 @@ func init() { return err } - buildMode := "bridge" + buildMode := cmd.BuildModeBridge err = cmd.BuildApplication(projectOptions.BinaryName, forceRebuild, buildMode) if err != nil { return err diff --git a/utils.go b/utils.go index 010a1d6b1..5e2861bff 100644 --- a/utils.go +++ b/utils.go @@ -4,6 +4,8 @@ import ( "log" "strings" + "github.com/wailsapp/wails/cmd" + "github.com/gobuffalo/packr" ) @@ -18,6 +20,9 @@ func escapeJS(js string) (string, error) { func BoxString(box *packr.Box, filename string) string { result, err := box.FindString(filename) if err != nil { + if BuildMode == cmd.BuildModeBridge { + return "" + } log.Fatal(err) } return result From 9ffb5171832fb495cc88872031641cfc74809ae4 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sat, 16 Feb 2019 07:02:16 +1100 Subject: [PATCH 2/2] minor fixes --- app.go | 6 +++--- renderer_headless.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app.go b/app.go index 3427e6aa4..09f00f3de 100644 --- a/app.go +++ b/app.go @@ -53,7 +53,7 @@ func CreateApp(optionalConfig ...*AppConfig) *App { result.config = appconfig // Set up the CLI if not in release mode - if BuildMode != BuildModeProd { + if BuildMode != cmd.BuildModeProd { result.cli = result.setupCli() } else { // Disable Inspector in release mode @@ -65,7 +65,7 @@ func CreateApp(optionalConfig ...*AppConfig) *App { // Run the app func (a *App) Run() error { - if BuildMode != BuildModeProd { + if BuildMode != cmd.BuildModeProd { return a.cli.Run() } @@ -82,7 +82,7 @@ func (a *App) start() error { a.log.Info("Starting") // Check if we are to run in headless mode - if BuildMode == BuildModeBridge { + if BuildMode == cmd.BuildModeBridge { a.renderer = &Headless{} } diff --git a/renderer_headless.go b/renderer_headless.go index bb873f584..bd0cc6873 100644 --- a/renderer_headless.go +++ b/renderer_headless.go @@ -95,7 +95,7 @@ func (h *Headless) wsBridgeHandler(w http.ResponseWriter, r *http.Request) { http.Error(w, "Could not open websocket connection", http.StatusBadRequest) } h.theConnection = conn - h.log.Infof("Connection from frontend accepted.", h.theConnection) + h.log.Infof("Connection from frontend accepted [%p].", h.theConnection) conn.SetCloseHandler(func(int, string) error { h.log.Infof("Connection dropped [%p].", h.theConnection) h.theConnection = nil