Skip to content

Commit 4e6d67e

Browse files
alexandre-dauboisdunglas
authored andcommitted
fix(extgen): don't remove everything in the build directory now that there's no build subdir
1 parent 1894630 commit 4e6d67e

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

internal/extgen/generator.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,6 @@ func (g *Generator) Generate() error {
5050
}
5151

5252
func (g *Generator) setupBuildDirectory() error {
53-
if err := os.RemoveAll(g.BuildDir); err != nil {
54-
return fmt.Errorf("removing build directory: %w", err)
55-
}
56-
5753
return os.MkdirAll(g.BuildDir, 0755)
5854
}
5955

internal/extgen/gofile.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bytes"
55
_ "embed"
66
"fmt"
7+
"os"
78
"path/filepath"
89
"text/template"
910

@@ -30,6 +31,16 @@ type goTemplateData struct {
3031

3132
func (gg *GoFileGenerator) generate() error {
3233
filename := filepath.Join(gg.generator.BuildDir, gg.generator.BaseName+".go")
34+
35+
if _, err := os.Stat(filename); err == nil {
36+
backupFilename := filename + ".bak"
37+
if err := os.Rename(filename, backupFilename); err != nil {
38+
return fmt.Errorf("backing up existing Go file: %w", err)
39+
}
40+
41+
gg.generator.SourceFile = backupFilename
42+
}
43+
3344
content, err := gg.buildContent()
3445
if err != nil {
3546
return fmt.Errorf("building Go file content: %w", err)

0 commit comments

Comments
 (0)