fix bridge installation path

This commit is contained in:
Lea Anthony
2019-02-05 08:03:07 +11:00
parent 9bbac46b3f
commit a060d9dcc0
3 changed files with 7 additions and 82 deletions

View File

@@ -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 {

View File

@@ -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

View File

@@ -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
}