From 5e466893cf484deac8d640d8b0f7c1d498e36d5d Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Fri, 22 Feb 2019 05:17:23 +1100 Subject: [PATCH] package by default. -p leaves resource artifacts --- cmd/fs.go | 16 ++++++++++++++++ cmd/helpers.go | 13 +++---------- cmd/package.go | 13 +++++++++++-- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/cmd/fs.go b/cmd/fs.go index 8eea0d3de..1173d99e2 100644 --- a/cmd/fs.go +++ b/cmd/fs.go @@ -80,6 +80,22 @@ func (fs *FSHelper) Cwd() string { return cwd } +// RemoveFile removes the given filename +func (fs *FSHelper) RemoveFile(filename string) error { + return os.Remove(filename) +} + +// RemoveFiles removes the given filenames +func (fs *FSHelper) RemoveFiles(files []string) error { + for _, filename := range files { + err := os.Remove(filename) + if err != nil { + return err + } + } + return nil +} + // GetSubdirs will return a list of FQPs to subdirectories in the given directory func (fs *FSHelper) GetSubdirs(dir string) (map[string]string, error) { diff --git a/cmd/helpers.go b/cmd/helpers.go index 8c926581a..a5b3ed627 100644 --- a/cmd/helpers.go +++ b/cmd/helpers.go @@ -50,8 +50,9 @@ func InstallGoDependencies() error { func BuildApplication(binaryName string, forceRebuild bool, buildMode string, packageApp bool, projectOptions *ProjectOptions) error { // Generate Windows assets if needed - if runtime.GOOS == "windows" && packageApp { - err := PackageApplication(projectOptions) + if runtime.GOOS == "windows" { + cleanUp := !packageApp + err := NewPackageHelper().PackageWindows(projectOptions, cleanUp) if err != nil { return err } @@ -107,14 +108,6 @@ func BuildApplication(binaryName string, forceRebuild bool, buildMode string, pa } packSpinner.Success() - // Package application - if runtime.GOOS != "windows" && packageApp { - err = PackageApplication(projectOptions) - if err != nil { - return err - } - } - return nil } diff --git a/cmd/package.go b/cmd/package.go index 0f80d47a4..22c2a080c 100644 --- a/cmd/package.go +++ b/cmd/package.go @@ -76,7 +76,7 @@ func (b *PackageHelper) Package(po *ProjectOptions) error { } return b.packageOSX(po) case "windows": - return b.packageWindows(po) + return b.PackageWindows(po, true) case "linux": return fmt.Errorf("linux is not supported at this time. Please see https://github.com/wailsapp/wails/issues/2") default: @@ -150,7 +150,7 @@ func (b *PackageHelper) packageOSX(po *ProjectOptions) error { return err } -func (b *PackageHelper) packageWindows(po *ProjectOptions) error { +func (b *PackageHelper) PackageWindows(po *ProjectOptions, cleanUp bool) error { basename := strings.TrimSuffix(po.BinaryName, ".exe") // Copy icon @@ -196,6 +196,15 @@ func (b *PackageHelper) packageWindows(po *ProjectOptions) error { return err } + // clean up + if cleanUp { + filesToDelete := []string{tgtIconFile, tgtManifestFile, tgtRCFile} + err := b.fs.RemoveFiles(filesToDelete) + if err != nil { + return err + } + } + return nil }