5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-03 04:11:05 +08:00

fixes building on linux

install packr on setup
This commit is contained in:
Lea Anthony 2019-01-08 21:03:40 +11:00
parent aa6b67734b
commit 88b9b40bfe
3 changed files with 44 additions and 21 deletions

View File

@ -32,8 +32,6 @@ func NewBundleHelper() *BundleHelper {
} }
} }
// var assetsBox packr.Box
type plistData struct { type plistData struct {
Title string Title string
Exe string Exe string

View File

@ -4,6 +4,8 @@ import (
"fmt" "fmt"
"runtime" "runtime"
"github.com/leaanthony/spinner"
"github.com/wailsapp/wails/cmd" "github.com/wailsapp/wails/cmd"
) )
@ -86,6 +88,19 @@ Create your first project by running 'wails init'.`
} }
} }
// packr
if !programHelper.IsInstalled("packr") {
buildSpinner := spinner.New()
buildSpinner.SetSpinSpeed(50)
buildSpinner.Start("Installing packr...")
err := programHelper.InstallGoPackage("github.com/gobuffalo/packr/...")
if err != nil {
buildSpinner.Error()
return err
}
buildSpinner.Success()
}
logger.White("") logger.White("")
if !errors { if !errors {

View File

@ -91,7 +91,9 @@ func init() {
} }
// Check if frontend deps have been updated // Check if frontend deps have been updated
buildSpinner.Start("Installing frontend dependencies (This may take a while)...") feSpinner := spinner.New("Installing frontend dependencies (This may take a while)...")
feSpinner.SetSpinSpeed(50)
feSpinner.Start()
requiresNPMInstall := true requiresNPMInstall := true
@ -113,7 +115,7 @@ func init() {
if savedMD5sum == packageJSONMD5 { if savedMD5sum == packageJSONMD5 {
// Same - no need for reinstall // Same - no need for reinstall
requiresNPMInstall = false requiresNPMInstall = false
buildSpinner.Success("Skipped frontend dependencies (-f to force rebuild)") feSpinner.Success("Skipped frontend dependencies (-f to force rebuild)")
} }
} }
} }
@ -124,29 +126,30 @@ func init() {
// Install dependencies // Install dependencies
err = program.RunCommand(projectOptions.FrontEnd.Install) err = program.RunCommand(projectOptions.FrontEnd.Install)
if err != nil { if err != nil {
buildSpinner.Error() feSpinner.Error()
return err return err
} }
buildSpinner.Success() feSpinner.Success()
// Update md5sum file // Update md5sum file
ioutil.WriteFile(md5sumFile, []byte(packageJSONMD5), 0644) ioutil.WriteFile(md5sumFile, []byte(packageJSONMD5), 0644)
} }
// Build frontend // Build frontend
buildSpinner.Start("Building frontend...") buildFESpinner := spinner.New("Building frontend...")
buildFESpinner.SetSpinSpeed(50)
buildFESpinner.Start()
err = program.RunCommand(projectOptions.FrontEnd.Build) err = program.RunCommand(projectOptions.FrontEnd.Build)
if err != nil { if err != nil {
buildSpinner.Error() buildFESpinner.Error()
return err return err
} }
buildSpinner.Success() buildFESpinner.Success()
} }
// Run packr in project directory // Run packr in project directory
err = os.Chdir(projectDir) err = os.Chdir(projectDir)
if err != nil { if err != nil {
buildSpinner.Error()
return err return err
} }
@ -154,9 +157,10 @@ func init() {
buildTags := []string{} buildTags := []string{}
// Do we have any frameworks specified? // Do we have any frameworks specified?
frameworkSpinner := spinner.New()
frameworkSpinner.SetSpinSpeed(50)
if projectOptions.Framework != nil { if projectOptions.Framework != nil {
buildSpinner.Start() frameworkSpinner.Success("Compiling support for " + projectOptions.Framework.Name)
buildSpinner.Success("Compiling support for " + projectOptions.Framework.Name)
buildTags = append(buildTags, projectOptions.Framework.BuildTag) buildTags = append(buildTags, projectOptions.Framework.BuildTag)
} }
@ -171,16 +175,20 @@ func init() {
// buildSpinner.Success() // buildSpinner.Success()
// } // }
buildSpinner.Start("Installing Dependencies...") depSpinner := spinner.New("Installing Dependencies...")
depSpinner.SetSpinSpeed(50)
depSpinner.Start()
installCommand := "go get" installCommand := "go get"
err = program.RunCommand(installCommand) err = program.RunCommand(installCommand)
if err != nil { if err != nil {
buildSpinner.Error() depSpinner.Error()
return err return err
} }
buildSpinner.Success() depSpinner.Success()
buildSpinner.Start("Packing + Compiling project...") packSpinner := spinner.New("Packing + Compiling project...")
packSpinner.SetSpinSpeed(50)
packSpinner.Start()
buildCommand := "packr build" buildCommand := "packr build"
@ -200,10 +208,10 @@ func init() {
err = program.RunCommand(buildCommand) err = program.RunCommand(buildCommand)
if err != nil { if err != nil {
buildSpinner.Error() packSpinner.Error()
return err return err
} }
buildSpinner.Success() packSpinner.Success()
if bundle == false { if bundle == false {
logger.Yellow("Awesome! Project '%s' built!", projectOptions.Name) logger.Yellow("Awesome! Project '%s' built!", projectOptions.Name)
@ -211,14 +219,16 @@ func init() {
} }
// Bundle app // Bundle app
buildSpinner.Start("Bundling Application") bundleSpinner := spinner.New("Bundling Application")
bundleSpinner.SetSpinSpeed(50)
bundleSpinner.Start()
bundler := cmd.NewBundleHelper() bundler := cmd.NewBundleHelper()
err = bundler.Bundle(projectOptions) err = bundler.Bundle(projectOptions)
if err != nil { if err != nil {
buildSpinner.Error() bundleSpinner.Error()
return err return err
} }
buildSpinner.Success() bundleSpinner.Success()
logger.Yellow("Awesome! Project '%s' built!", projectOptions.Name) logger.Yellow("Awesome! Project '%s' built!", projectOptions.Name)
return nil return nil
}) })