From: Austin Clements Date: Mon, 5 Jun 2023 19:51:52 +0000 (-0400) Subject: cmd/dist: share one copy of the "generated by" header string X-Git-Tag: go1.21rc1~88 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=89184adb9a834911af8d2f786b7ed454757c08e7;p=gostls13.git cmd/dist: share one copy of the "generated by" header string Right now, every code generator in dist has a copy of the // Code generated by go tool dist; DO NOT EDIT. string. Put it in one place to make sure it doesn't diverge. Change-Id: I8b2a1904031599d7fc128b6a5d74480dee05fc89 Reviewed-on: https://go-review.googlesource.com/c/go/+/501138 Run-TryBot: Austin Clements Reviewed-by: Russ Cox TryBot-Result: Gopher Robot --- diff --git a/src/cmd/dist/buildgo.go b/src/cmd/dist/buildgo.go index 2e8bb8c27d..67400bb93f 100644 --- a/src/cmd/dist/buildgo.go +++ b/src/cmd/dist/buildgo.go @@ -6,6 +6,7 @@ package main import ( "fmt" + "io" "os" "path/filepath" "sort" @@ -16,6 +17,15 @@ import ( * Helpers for building cmd/go and cmd/cgo. */ +// generatedHeader is the string that all source files generated by dist start with. +const generatedHeader = "// Code generated by go tool dist; DO NOT EDIT.\n\n" + +// writeHeader emits the standard "generated by" header for all files generated +// by dist. +func writeHeader(w io.Writer) { + fmt.Fprint(w, generatedHeader) +} + // mkzdefaultcc writes zdefaultcc.go: // // package main @@ -28,8 +38,7 @@ import ( func mkzdefaultcc(dir, file string) { if strings.Contains(file, filepath.FromSlash("go/internal/cfg")) { var buf strings.Builder - fmt.Fprintf(&buf, "// Code generated by go tool dist; DO NOT EDIT.\n") - fmt.Fprintln(&buf) + writeHeader(&buf) fmt.Fprintf(&buf, "package cfg\n") fmt.Fprintln(&buf) fmt.Fprintf(&buf, "const DefaultPkgConfig = `%s`\n", defaultpkgconfig) @@ -40,8 +49,7 @@ func mkzdefaultcc(dir, file string) { } var buf strings.Builder - fmt.Fprintf(&buf, "// Code generated by go tool dist; DO NOT EDIT.\n") - fmt.Fprintln(&buf) + writeHeader(&buf) fmt.Fprintf(&buf, "package main\n") fmt.Fprintln(&buf) fmt.Fprintf(&buf, "const defaultPkgConfig = `%s`\n", defaultpkgconfig) @@ -99,8 +107,7 @@ func defaultCCFunc(name string, defaultcc map[string]string) string { // It is invoked to write go/build/zcgo.go. func mkzcgo(dir, file string) { var buf strings.Builder - fmt.Fprintf(&buf, "// Code generated by go tool dist; DO NOT EDIT.\n") - fmt.Fprintln(&buf) + writeHeader(&buf) fmt.Fprintf(&buf, "package build\n") fmt.Fprintln(&buf) fmt.Fprintf(&buf, "const defaultCGO_ENABLED = %s\n", quote(os.Getenv("CGO_ENABLED"))) @@ -116,8 +123,7 @@ func mktzdata(dir, file string) { zip := readfile(filepath.Join(dir, "../../../lib/time/zoneinfo.zip")) var buf strings.Builder - fmt.Fprintf(&buf, "// Code generated by go tool dist; DO NOT EDIT.\n") - fmt.Fprintln(&buf) + writeHeader(&buf) fmt.Fprintf(&buf, "package tzdata\n") fmt.Fprintln(&buf) fmt.Fprintf(&buf, "const zipdata = %s\n", quote(zip)) diff --git a/src/cmd/dist/buildruntime.go b/src/cmd/dist/buildruntime.go index 20f49ca744..b3fe8b02d8 100644 --- a/src/cmd/dist/buildruntime.go +++ b/src/cmd/dist/buildruntime.go @@ -21,8 +21,7 @@ import ( // (Nothing right now!) func mkzversion(dir, file string) { var buf strings.Builder - fmt.Fprintf(&buf, "// Code generated by go tool dist; DO NOT EDIT.\n") - fmt.Fprintln(&buf) + writeHeader(&buf) fmt.Fprintf(&buf, "package sys\n") writefile(buf.String(), file, writeSkipSame) } @@ -48,8 +47,7 @@ func mkzversion(dir, file string) { // original target (in this example, a Mac). func mkbuildcfg(file string) { var buf strings.Builder - fmt.Fprintf(&buf, "// Code generated by go tool dist; DO NOT EDIT.\n") - fmt.Fprintln(&buf) + writeHeader(&buf) fmt.Fprintf(&buf, "package buildcfg\n") fmt.Fprintln(&buf) fmt.Fprintf(&buf, "import \"runtime\"\n") @@ -77,8 +75,7 @@ func mkbuildcfg(file string) { // (Nothing right now!) func mkobjabi(file string) { var buf strings.Builder - fmt.Fprintf(&buf, "// Code generated by go tool dist; DO NOT EDIT.\n") - fmt.Fprintln(&buf) + writeHeader(&buf) fmt.Fprintf(&buf, "package objabi\n") writefile(buf.String(), file, writeSkipSame) @@ -94,8 +91,7 @@ func mkzosarch(dir, file string) { sort.Strings(list) var buf strings.Builder - fmt.Fprintf(&buf, "// Code generated by go tool dist; DO NOT EDIT.\n") - fmt.Fprintln(&buf) + writeHeader(&buf) fmt.Fprintf(&buf, "package platform\n") fmt.Fprintln(&buf) fmt.Fprintf(&buf, "var osArchSupportsCgo = map[string]bool{\n") diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go index 7ecfb3a811..5e026f7bed 100644 --- a/src/cmd/dist/buildtool.go +++ b/src/cmd/dist/buildtool.go @@ -283,13 +283,11 @@ func bootstrapRewriteFile(srcFile string) string { // binary that works for the current gohostarch. // This saves 6+ seconds of bootstrap. if archCaps, ok := isUnneededSSARewriteFile(srcFile, gohostarch); ok { - return fmt.Sprintf(`// Code generated by go tool dist; DO NOT EDIT. - -package ssa + return fmt.Sprintf(`%spackage ssa func rewriteValue%s(v *Value) bool { panic("unused during bootstrap") } func rewriteBlock%s(b *Block) bool { panic("unused during bootstrap") } -`, archCaps, archCaps) +`, generatedHeader, archCaps, archCaps) } return bootstrapFixImports(srcFile) @@ -324,7 +322,7 @@ func bootstrapFixImports(srcFile string) string { } } - lines[0] = "// Code generated by go tool dist; DO NOT EDIT.\n// This is a bootstrap copy of " + srcFile + "\n\n//line " + srcFile + ":1\n" + lines[0] + lines[0] = generatedHeader + "// This is a bootstrap copy of " + srcFile + "\n\n//line " + srcFile + ":1\n" + lines[0] return strings.Join(lines, "") }