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 <austin@google.com>
Reviewed-by: Russ Cox <rsc@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
Austin Clements 2023-06-05 15:51:52 -04:00
parent f6ec9b11a6
commit 89184adb9a
3 changed files with 21 additions and 21 deletions

View File

@ -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))

View File

@ -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")

View File

@ -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, "")
}