From a060d9dcc073285f3438cb13910feed493a6861f Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Tue, 5 Feb 2019 08:03:07 +1100 Subject: [PATCH] fix bridge installation path --- cmd/helpers.go | 2 +- cmd/wails/4_build.go | 4 +-- cmd/wails/6_serve.go | 83 +++----------------------------------------- 3 files changed, 7 insertions(+), 82 deletions(-) diff --git a/cmd/helpers.go b/cmd/helpers.go index f7814c94..27e7afd3 100644 --- a/cmd/helpers.go +++ b/cmd/helpers.go @@ -177,7 +177,7 @@ func InstallFrontendDeps(projectDir string, projectOptions *ProjectOptions, forc // Copy bridge to project _, filename, _, _ := runtime.Caller(1) - bridgeFileSource := filepath.Join(path.Dir(filename), "..", "assets", "default", bridgeFile) + bridgeFileSource := filepath.Join(path.Dir(filename), "..", "..", "assets", "default", bridgeFile) bridgeFileTarget := filepath.Join(projectDir, projectOptions.FrontEnd.Dir, projectOptions.FrontEnd.Bridge, "wailsbridge.js") err = fs.CopyFile(bridgeFileSource, bridgeFileTarget) if err != nil { diff --git a/cmd/wails/4_build.go b/cmd/wails/4_build.go index 2bb85983..2631c325 100644 --- a/cmd/wails/4_build.go +++ b/cmd/wails/4_build.go @@ -49,8 +49,6 @@ func init() { return err } - // Check pre-requisites are installed - // Program checker program := cmd.NewProgramHelper() @@ -61,7 +59,7 @@ func init() { } } - // packr + // Check Packr is installed err = cmd.CheckPackr() if err != nil { return err diff --git a/cmd/wails/6_serve.go b/cmd/wails/6_serve.go index 42c3327a..8aa0b15e 100644 --- a/cmd/wails/6_serve.go +++ b/cmd/wails/6_serve.go @@ -2,12 +2,9 @@ package main import ( "fmt" - "io/ioutil" "os" "os/exec" - "path" "path/filepath" - "runtime" "time" "github.com/leaanthony/spinner" @@ -51,8 +48,6 @@ func init() { return err } - // Check pre-requisites are installed - // Program checker program := cmd.NewProgramHelper() @@ -63,15 +58,10 @@ func init() { } } - // packr - if !program.IsInstalled("packr") { - buildSpinner.Start("Installing packr...") - err := program.InstallGoPackage("github.com/gobuffalo/packr/...") - if err != nil { - buildSpinner.Error() - return err - } - buildSpinner.Success() + // Check Packr is installed + err = cmd.CheckPackr() + if err != nil { + return err } // Save project directory @@ -79,70 +69,7 @@ func init() { // Install deps if projectOptions.FrontEnd != nil { - // Install frontend deps - err = os.Chdir(projectOptions.FrontEnd.Dir) - if err != nil { - return err - } - - // Check if frontend deps have been updated - feSpinner := spinner.New("Installing frontend dependencies (This may take a while)...") - feSpinner.SetSpinSpeed(50) - feSpinner.Start() - - requiresNPMInstall := true - - // Read in package.json MD5 - packageJSONMD5, err := fs.FileMD5("package.json") - if err != nil { - return err - } - - const md5sumFile = "package.json.md5" - - // If we aren't forcing the install and the md5sum file exists - if !forceRebuild && fs.FileExists(md5sumFile) { - // Yes - read contents - savedMD5sum, err := fs.LoadAsString(md5sumFile) - // File exists - if err == nil { - // Compare md5 - if savedMD5sum == packageJSONMD5 { - // Same - no need for reinstall - requiresNPMInstall = false - feSpinner.Success("Skipped frontend dependencies (-f to force rebuild)") - } - } - } - - // Md5 sum package.json - // Different? Build - if requiresNPMInstall || forceRebuild { - // Install dependencies - err = program.RunCommand(projectOptions.FrontEnd.Install) - if err != nil { - feSpinner.Error() - return err - } - feSpinner.Success() - - // Update md5sum file - ioutil.WriteFile(md5sumFile, []byte(packageJSONMD5), 0644) - } - - bridgeFile := "wailsbridge.prod.js" - - // Copy bridge to project - _, filename, _, _ := runtime.Caller(1) - bridgeFileSource := filepath.Join(path.Dir(filename), "..", "assets", "default", bridgeFile) - bridgeFileTarget := filepath.Join(projectDir, projectOptions.FrontEnd.Dir, projectOptions.FrontEnd.Bridge, "wailsbridge.js") - err = fs.CopyFile(bridgeFileSource, bridgeFileTarget) - if err != nil { - return err - } - - // Build frontend - err = cmd.BuildFrontend(projectOptions.FrontEnd.Build) + err = cmd.InstallFrontendDeps(projectDir, projectOptions, forceRebuild) if err != nil { return err }