]> Cypherpunks.ru repositories - gostls13.git/commitdiff
cmd/dist: share one copy of the "generated by" header string
authorAustin Clements <austin@google.com>
Mon, 5 Jun 2023 19:51:52 +0000 (15:51 -0400)
committerAustin Clements <austin@google.com>
Tue, 6 Jun 2023 15:33:05 +0000 (15:33 +0000)
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>

src/cmd/dist/buildgo.go
src/cmd/dist/buildruntime.go
src/cmd/dist/buildtool.go

index 2e8bb8c27d5247fcfb3b7f357e1634588a73a5c3..67400bb93f239507943d26b0d6d6a4b0d6768992 100644 (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))
index 20f49ca744e17a5477dec3ae893f8aec1eb0df95..b3fe8b02d873ff81b3c35d5a083499a9da9eeae1 100644 (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")
index 7ecfb3a811b0e83896accae9bc51ddd832ff909b..5e026f7bed858aabafccb4c21f34cfb06d4dc30c 100644 (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, "")
 }