Skip to content

Commit e7396ae

Browse files
committed
Only update the generated files if necessary
Signed-off-by: Andrew Thornton <[email protected]>
1 parent 2c8a1a2 commit e7396ae

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

modules/charset/ambiguous/generate.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,17 @@ func runTemplate(t *template.Template, filename string, data interface{}) error
110110
verbosef("Bad source:\n%s", buf.String())
111111
return fmt.Errorf("unable to format source: %w", err)
112112
}
113+
114+
old, err := os.ReadFile(filename)
115+
if err != nil && !os.IsNotExist(err) {
116+
return fmt.Errorf("failed to read old file %s because %w", filename, err)
117+
} else if err == nil {
118+
if res := bytes.Compare(bs, old); res == 0 {
119+
// files are the same don't rewrite it.
120+
return nil
121+
}
122+
}
123+
113124
file, err := os.Create(filename)
114125
if err != nil {
115126
return fmt.Errorf("failed to create file %s because %w", filename, err)

modules/charset/invisible/generate.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,17 @@ func runTemplate(t *template.Template, filename string, data interface{}) error
6363
verbosef("Bad source:\n%s", buf.String())
6464
return fmt.Errorf("unable to format source: %w", err)
6565
}
66+
67+
old, err := os.ReadFile(filename)
68+
if err != nil && !os.IsNotExist(err) {
69+
return fmt.Errorf("failed to read old file %s because %w", filename, err)
70+
} else if err == nil {
71+
if res := bytes.Compare(bs, old); res == 0 {
72+
// files are the same don't rewrite it.
73+
return nil
74+
}
75+
}
76+
6677
file, err := os.Create(filename)
6778
if err != nil {
6879
return fmt.Errorf("failed to create file %s because %w", filename, err)

0 commit comments

Comments
 (0)