5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-16 00:49:32 +08:00

Add -k flag for debug purposes

This commit is contained in:
Lea Anthony 2021-01-03 05:02:48 +11:00
parent 44c55d06a6
commit f384fc7562
No known key found for this signature in database
GPG Key ID: 33DAF7BB90A58405
6 changed files with 25 additions and 14 deletions

View File

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

View File

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

View File

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

View File

@ -14,9 +14,9 @@ type DesktopBuilder struct {
*BaseBuilder
}
func newDesktopBuilder() *DesktopBuilder {
func newDesktopBuilder(options *Options) *DesktopBuilder {
return &DesktopBuilder{
BaseBuilder: NewBaseBuilder(),
BaseBuilder: NewBaseBuilder(options),
}
}

View File

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

View File

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