From 63fef398547a794b5e9f87dca7d0f7cf15226320 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Mon, 20 May 2019 23:40:17 +1000 Subject: [PATCH 1/4] feat: build on init --- cmd/project.go | 2 -- cmd/wails/2_init.go | 21 ++++++++++++++++++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/cmd/project.go b/cmd/project.go index eef9856ac..21e2047ff 100644 --- a/cmd/project.go +++ b/cmd/project.go @@ -84,8 +84,6 @@ func (ph *ProjectHelper) GenerateProject(projectOptions *ProjectOptions) error { // ph.GenerateWindowsResourceConfig(projectOptions) // } - ph.log.Yellow("Project '%s' generated in directory '%s'!", projectOptions.Name, projectOptions.OutputDirectory) - ph.log.Yellow("To compile the project, run 'wails build' in the project directory.") return nil } diff --git a/cmd/wails/2_init.go b/cmd/wails/2_init.go index f2c4b7596..b3ccf6111 100644 --- a/cmd/wails/2_init.go +++ b/cmd/wails/2_init.go @@ -2,7 +2,10 @@ package main import ( "fmt" + "os" + "path/filepath" + "github.com/leaanthony/spinner" "github.com/wailsapp/wails/cmd" ) @@ -53,8 +56,24 @@ Any flags that are required and not given will be prompted for.` // Generate the project err = projectHelper.GenerateProject(projectOptions) if err != nil { - logger.Error(err.Error()) + return err } + + // Build the project + cwd, _ := os.Getwd() + projectDir := filepath.Join(cwd, projectOptions.OutputDirectory) + program := cmd.NewProgramHelper() + buildSpinner := spinner.NewSpinner() + buildSpinner.SetSpinSpeed(50) + buildSpinner.Start("Performing initial build (this may take a while)...") + err = program.RunCommandArray([]string{"wails", "build"}, projectDir) + if err != nil { + buildSpinner.Error(err.Error()) + return err + } + buildSpinner.Success() + logger.Yellow("Project '%s' built in directory '%s'!", projectOptions.Name, projectOptions.OutputDirectory) + return err }) } From f07705268d69e9570935fb8f2ef816d225492c39 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Mon, 20 May 2019 23:53:14 +1000 Subject: [PATCH 2/4] feat: moar spinners --- cmd/wails/2_init.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cmd/wails/2_init.go b/cmd/wails/2_init.go index b3ccf6111..06289c6cd 100644 --- a/cmd/wails/2_init.go +++ b/cmd/wails/2_init.go @@ -53,11 +53,17 @@ Any flags that are required and not given will be prompted for.` } } + genSpinner := spinner.NewSpinner() + genSpinner.SetSpinSpeed(50) + genSpinner.Start("Generating project...") + // Generate the project err = projectHelper.GenerateProject(projectOptions) if err != nil { + genSpinner.Error() return err } + genSpinner.Success() // Build the project cwd, _ := os.Getwd() @@ -65,7 +71,7 @@ Any flags that are required and not given will be prompted for.` program := cmd.NewProgramHelper() buildSpinner := spinner.NewSpinner() buildSpinner.SetSpinSpeed(50) - buildSpinner.Start("Performing initial build (this may take a while)...") + buildSpinner.Start("Building project (this may take a while)...") err = program.RunCommandArray([]string{"wails", "build"}, projectDir) if err != nil { buildSpinner.Error(err.Error()) From 0eb59d823e3b16e470dbc885cbb983392d88168a Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Wed, 22 May 2019 00:42:17 +1000 Subject: [PATCH 3/4] fix: version craziness --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5b0368218..6dc4d400d 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/jackmordaunt/icns v1.0.0 github.com/kennygrant/sanitize v1.2.4 github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect - github.com/leaanthony/mewn v0.10.6 + github.com/leaanthony/mewn v0.10.7 github.com/leaanthony/slicer v1.3.1 github.com/leaanthony/spinner v0.5.0 github.com/masterminds/semver v1.4.2 diff --git a/go.sum b/go.sum index cf6fa217b..3724651d0 100644 --- a/go.sum +++ b/go.sum @@ -33,8 +33,8 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3 github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/leaanthony/mewn v0.10.6 h1:tL8YYcVXGpJJeWlwjd2su88or8Ul+0cQoJPNcICGMto= -github.com/leaanthony/mewn v0.10.6/go.mod h1:i3ygCWW96qVQlGa8sjWnTM0IKAijoFvTwATDIZgK4k0= +github.com/leaanthony/mewn v0.10.7 h1:jCcNJyIUOpwj+I5SuATvCugDjHkoo+j6ubEOxxrxmPA= +github.com/leaanthony/mewn v0.10.7/go.mod h1:CRkTx8unLiSSilu/Sd7i1LwrdaAL+3eQ3ses99qGMEQ= github.com/leaanthony/slicer v1.3.1 h1:n2iIV2sxvL/3bpnmVY0vBjXf3yYFWcB6CYLVMrzJxRw= github.com/leaanthony/slicer v1.3.1/go.mod h1:VMB/HGvr3uR3MRpFWHWAm0w+DHQLzPHYe2pKfpFlQIQ= github.com/leaanthony/spinner v0.5.0 h1:HQykt/iTy7fmINEREtRbWrt+8j4MxC8dtvWBxEWM9oA= From 3c0fa4c55e8ef1c3025e4be721895994d0fa200d Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Wed, 22 May 2019 07:25:42 +1000 Subject: [PATCH 4/4] chore: lint fixes --- cmd/fs.go | 5 ++++- cmd/templates.go | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cmd/fs.go b/cmd/fs.go index 83c1b2e57..d0ceae7c5 100644 --- a/cmd/fs.go +++ b/cmd/fs.go @@ -110,16 +110,19 @@ func (fs *FSHelper) RemoveFiles(files []string) error { return nil } +// Dir holds information about a directory type Dir struct { localPath string fullPath string } -func (fs *FSHelper) Dir(dir string) (*Dir, error) { +// Directory creates a new Dir struct with the given directory path +func (fs *FSHelper) Directory(dir string) (*Dir, error) { fullPath, err := filepath.Abs(dir) return &Dir{fullPath: fullPath}, err } +// LocalDir creates a new Dir struct based on a path relative to the caller func (fs *FSHelper) LocalDir(dir string) (*Dir, error) { _, filename, _, _ := runtime.Caller(1) fullPath, err := filepath.Abs(filepath.Join(path.Dir(filename), dir)) diff --git a/cmd/templates.go b/cmd/templates.go index 4a609af4e..ab28b50e1 100644 --- a/cmd/templates.go +++ b/cmd/templates.go @@ -141,7 +141,7 @@ func (t *TemplateHelper) GetTemplateDetails() (map[string]*TemplateDetails, erro func (t *TemplateHelper) GetTemplateFilenames(template *TemplateDetails) (*slicer.StringSlicer, error) { // Get the subdirectory details - templateDir, err := t.fs.Dir(template.Path) + templateDir, err := t.fs.Directory(template.Path) if err != nil { return nil, err }