From f384fc7562a880614c2b1008db4ba99efc9f3e87 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sun, 3 Jan 2021 05:02:48 +1100 Subject: [PATCH] Add -k flag for debug purposes --- v2/cmd/wails/internal/commands/build/build.go | 5 +++++ v2/pkg/commands/build/base.go | 11 ++++++++--- v2/pkg/commands/build/build.go | 7 ++++--- v2/pkg/commands/build/desktop.go | 4 ++-- v2/pkg/commands/build/hybrid.go | 8 ++++---- v2/pkg/commands/build/server.go | 4 ++-- 6 files changed, 25 insertions(+), 14 deletions(-) diff --git a/v2/cmd/wails/internal/commands/build/build.go b/v2/cmd/wails/internal/commands/build/build.go index 705e693c0..eecd835da 100644 --- a/v2/cmd/wails/internal/commands/build/build.go +++ b/v2/cmd/wails/internal/commands/build/build.go @@ -53,6 +53,10 @@ func AddBuildSubcommand(app *clir.Cli, w io.Writer) { logFile := "" command.StringFlag("l", "Log to file", &logFile) + // Retain assets + keepAssets := false + command.BoolFlag("k", "Kep generated assets", &keepAssets) + command.Action(func() error { // Create logger @@ -87,6 +91,7 @@ func AddBuildSubcommand(app *clir.Cli, w io.Writer) { Platform: platform, LDFlags: ldflags, Compiler: compilerCommand, + KeepAssets: keepAssets, } return doBuild(buildOptions) diff --git a/v2/pkg/commands/build/base.go b/v2/pkg/commands/build/base.go index e7233e103..71f8b9e48 100644 --- a/v2/pkg/commands/build/base.go +++ b/v2/pkg/commands/build/base.go @@ -23,11 +23,14 @@ import ( type BaseBuilder struct { filesToDelete slicer.StringSlicer projectData *project.Project + options *Options } // NewBaseBuilder creates a new BaseBuilder -func NewBaseBuilder() *BaseBuilder { - result := &BaseBuilder{} +func NewBaseBuilder(options *Options) *BaseBuilder { + result := &BaseBuilder{ + options: options, + } return result } @@ -37,7 +40,9 @@ func (b *BaseBuilder) SetProjectData(projectData *project.Project) { } func (b *BaseBuilder) addFileToDelete(filename string) { - b.filesToDelete.Add(filename) + if !b.options.KeepAssets { + b.filesToDelete.Add(filename) + } } func (b *BaseBuilder) fileExists(path string) bool { diff --git a/v2/pkg/commands/build/build.go b/v2/pkg/commands/build/build.go index 94fd9c2ff..59436e2c5 100644 --- a/v2/pkg/commands/build/build.go +++ b/v2/pkg/commands/build/build.go @@ -37,6 +37,7 @@ type Options struct { OutputFile string // Override the output filename BuildDirectory string // Directory to use for building the application CompiledBinary string // Fully qualified path to the compiled binary + KeepAssets bool // /Keep the generated assets/files } // GetModeAsString returns the current mode as a string @@ -80,11 +81,11 @@ func Build(options *Options) (string, error) { switch projectData.OutputType { case "desktop": - builder = newDesktopBuilder() + builder = newDesktopBuilder(options) case "hybrid": - builder = newHybridBuilder() + builder = newHybridBuilder(options) case "server": - builder = newServerBuilder() + builder = newServerBuilder(options) default: return "", fmt.Errorf("cannot build assets for output type %s", projectData.OutputType) } diff --git a/v2/pkg/commands/build/desktop.go b/v2/pkg/commands/build/desktop.go index 09c87784e..9e3af1415 100644 --- a/v2/pkg/commands/build/desktop.go +++ b/v2/pkg/commands/build/desktop.go @@ -14,9 +14,9 @@ type DesktopBuilder struct { *BaseBuilder } -func newDesktopBuilder() *DesktopBuilder { +func newDesktopBuilder(options *Options) *DesktopBuilder { return &DesktopBuilder{ - BaseBuilder: NewBaseBuilder(), + BaseBuilder: NewBaseBuilder(options), } } diff --git a/v2/pkg/commands/build/hybrid.go b/v2/pkg/commands/build/hybrid.go index a5a059b9f..381b36038 100644 --- a/v2/pkg/commands/build/hybrid.go +++ b/v2/pkg/commands/build/hybrid.go @@ -12,11 +12,11 @@ type HybridBuilder struct { server *ServerBuilder } -func newHybridBuilder() Builder { +func newHybridBuilder(options *Options) Builder { result := &HybridBuilder{ - BaseBuilder: NewBaseBuilder(), - desktop: newDesktopBuilder(), - server: newServerBuilder(), + BaseBuilder: NewBaseBuilder(options), + desktop: newDesktopBuilder(options), + server: newServerBuilder(options), } return result } diff --git a/v2/pkg/commands/build/server.go b/v2/pkg/commands/build/server.go index 44ff1a97e..14fe72ad9 100644 --- a/v2/pkg/commands/build/server.go +++ b/v2/pkg/commands/build/server.go @@ -15,9 +15,9 @@ type ServerBuilder struct { *BaseBuilder } -func newServerBuilder() *ServerBuilder { +func newServerBuilder(options *Options) *ServerBuilder { result := &ServerBuilder{ - BaseBuilder: NewBaseBuilder(), + BaseBuilder: NewBaseBuilder(options), } return result }