File tree Expand file tree Collapse file tree 2 files changed +11
-4
lines changed
Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -50,10 +50,6 @@ func (g *Generator) Generate() error {
5050}
5151
5252func (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
Original file line number Diff line number Diff line change 44 "bytes"
55 _ "embed"
66 "fmt"
7+ "os"
78 "path/filepath"
89 "text/template"
910
@@ -30,6 +31,16 @@ type goTemplateData struct {
3031
3132func (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 )
You can’t perform that action at this time.
0 commit comments