Add no-edit disclaimer to all generated files

- As discussed in #96
This commit is contained in:
Aaron L 2017-01-26 20:41:30 -08:00
parent c02a2f0c20
commit ec28cb4148

View file

@ -14,6 +14,12 @@ import (
"github.com/pkg/errors"
)
var noEditDisclaimer = []byte(`// This file is generated by SQLBoiler (https://github.com/vattle/sqlboiler)
// and is meant to be re-generated in place and/or deleted at any time.
// DO NOT EDIT
`)
var (
// templateByteBuffer is re-used by all template construction to avoid
// allocating more memory than is needed. This will later be a problem for
@ -103,6 +109,7 @@ func executeTemplates(e executeTemplateData) error {
imps = combineTypeImports(imps, importsBasedOnType, e.data.Table.Columns)
}
writeFileDisclaimer(out)
writePackageName(out, e.state.Config.PkgName)
writeImports(out, imps)
@ -138,6 +145,7 @@ func executeSingletonTemplates(e executeTemplateData) error {
thirdParty: e.importNamedSet[fName].thirdParty,
}
writeFileDisclaimer(out)
writePackageName(out, e.state.Config.PkgName)
writeImports(out, imps)
@ -165,6 +173,7 @@ func generateTestMainOutput(state *State, data *templateData) error {
imps.standard = defaultTestMainImports[state.Config.DriverName].standard
imps.thirdParty = defaultTestMainImports[state.Config.DriverName].thirdParty
writeFileDisclaimer(out)
writePackageName(out, state.Config.PkgName)
writeImports(out, imps)
@ -179,6 +188,12 @@ func generateTestMainOutput(state *State, data *templateData) error {
return nil
}
// writeFileDisclaimer writes the disclaimer at the top with a trailing
// newline so the package name doesn't get attached to it.
func writeFileDisclaimer(out *bytes.Buffer) {
_, _ = out.Write(noEditDisclaimer)
}
// writePackageName writes the package name correctly, ignores errors
// since it's to the concrete buffer type which produces none
func writePackageName(out *bytes.Buffer, pkgName string) {