diff --git a/app.go b/app.go index 52b6821ca..f5cbd87e8 100644 --- a/app.go +++ b/app.go @@ -1,6 +1,8 @@ package wails import ( + "fmt" + "github.com/wailsapp/wails/cmd" ) @@ -9,6 +11,9 @@ import ( // DebugMode indicates if we are in debug Mode var DebugMode = "true" +// BackendRenderer indicates which renderer to use for the backend +var BackendRenderer = "webview" + // ---------------------------------------------------------------------------------- // App defines the main application struct @@ -60,6 +65,8 @@ func CreateApp(optionalConfig ...*AppConfig) *App { result.config.DisableInspector = true } + fmt.Println("Debug mode = " + DebugMode) + return result } @@ -82,7 +89,9 @@ func (a *App) start() error { a.log.Info("Starting") // Check if we are to run in headless mode - if DebugMode == "true" { + fmt.Printf("Backend Renderer = %s\n", BackendRenderer) + a.log.Info("Backend Renderer = " + BackendRenderer) + if BackendRenderer == "headless" { a.renderer = &Headless{} } diff --git a/cmd/program.go b/cmd/program.go index d38b8051e..4cf59001b 100644 --- a/cmd/program.go +++ b/cmd/program.go @@ -116,6 +116,7 @@ func (p *ProgramHelper) RunCommandArray(args []string) error { return err } args = args[1:] + // fmt.Printf("RunCommandArray = %s %+v\n", program, args) _, stderr, err := p.shell.Run(program, args...) if err != nil { fmt.Println(stderr) diff --git a/cmd/version.go b/cmd/version.go index 4ef3ee547..bc3032367 100644 --- a/cmd/version.go +++ b/cmd/version.go @@ -2,4 +2,4 @@ package cmd // Version - Wails version // ...oO(There must be a better way) -const Version = "v0.5.0" +const Version = "v0.7.0" diff --git a/cmd/wails/6_serve.go b/cmd/wails/6_serve.go index 5daf19f36..589682280 100644 --- a/cmd/wails/6_serve.go +++ b/cmd/wails/6_serve.go @@ -43,36 +43,9 @@ func init() { return err } - // // Validate config - // // Check if we have a frontend - // if projectOptions.FrontEnd != nil { - // if projectOptions.FrontEnd.Dir == "" { - // return fmt.Errorf("Frontend directory not set in project.json") - // } - // if projectOptions.FrontEnd.Build == "" { - // return fmt.Errorf("Frontend build command not set in project.json") - // } - // if projectOptions.FrontEnd.Install == "" { - // return fmt.Errorf("Frontend install command not set in project.json") - // } - // if projectOptions.FrontEnd.Bridge == "" { - // return fmt.Errorf("Frontend bridge config not set in project.json") - // } - - // } - - // // Check pre-requisites are installed - // Program checker program := cmd.NewProgramHelper() - // if projectOptions.FrontEnd != nil { - // // npm - // if !program.IsInstalled("npm") { - // return fmt.Errorf("it appears npm is not installed. Please install and run again") - // } - // } - // packr if !program.IsInstalled("packr") { buildSpinner.Start("Installing packr...") @@ -87,59 +60,6 @@ func init() { // Save project directory projectDir := fs.Cwd() - // Install backend deps - needed? - // 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) - // } - // Copy bridge to project var bridgeFile = "wailsbridge.js" _, filename, _, _ := runtime.Caller(1) @@ -150,18 +70,6 @@ func init() { return err } - // // Build frontend - // buildFESpinner := spinner.New("Building frontend...") - // buildFESpinner.SetSpinSpeed(50) - // buildFESpinner.Start() - // err = program.RunCommand(projectOptions.FrontEnd.Build) - // if err != nil { - // buildFESpinner.Error() - // return err - // } - // buildFESpinner.Success() - // } - // Run packr in project directory err = os.Chdir(projectDir) if err != nil { @@ -208,6 +116,8 @@ func init() { buildCommand.Add("-a") } + buildCommand.AddSlice([]string{"-ldflags", "-X github.com/wailsapp/wails.BackendRenderer=headless"}) + // logger.Green("buildCommand = %+v", buildCommand) err = program.RunCommandArray(buildCommand.AsSlice()) if err != nil { packSpinner.Error()