aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/dist
diff options
context:
space:
mode:
authorMichael Pratt <mpratt@google.com>2024-03-27 12:09:26 -0400
committerGopher Robot <gobot@golang.org>2024-04-18 15:41:07 +0000
commita973b4256e4ad3a5bde270e3358c8cc574c21954 (patch)
tree3371941cb61090e0e9a64299ea35cae213dcb2b1 /src/cmd/dist
parent8d4abd788c82227cd6706d9a5718129437b993da (diff)
downloadgo-a973b4256e4ad3a5bde270e3358c8cc574c21954.tar.gz
go-a973b4256e4ad3a5bde270e3358c8cc574c21954.zip
cmd/dist: allow arbitrary package renames for bootstrap imports
Import declaration matching currently has a list of specific cases. It allows bare imports, dot imports, and renamed imports named "exec" and "rtabi". Keeping a specific allowlist of renamed imports is unnecessary and causes annoyance for developers adding such imports, as the bootstrap build errors do not make it clear that this is where the issue lies. We can simplify this to be much more general. The body of the condition will still only rewrite imports in cmd/ or in bootstrapDirs. I believe the only downside of this change is that it makes it a bit more likely to match and replace within comments. That said, there should be no harm in replacements within comments. This change results in no change to the resulting bootstrap source tree: $ diff -u -r /tmp/bootstrap.before/src /tmp/bootstrap.after/src diff -u -r /tmp/bootstrap.before/src/bootstrap/internal/buildcfg/zbootstrap.go /tmp/bootstrap.after/src/bootstrap/internal/buildcfg/zbootstrap.go --- /tmp/bootstrap.before/src/bootstrap/internal/buildcfg/zbootstrap.go 2024-03-27 12:29:27.439540946 -0400 +++ /tmp/bootstrap.after/src/bootstrap/internal/buildcfg/zbootstrap.go 2024-03-27 12:28:08.516211238 -0400 @@ -20,6 +20,6 @@ const defaultGOEXPERIMENT = `` const defaultGO_EXTLINK_ENABLED = `` const defaultGO_LDSO = `` -const version = `devel go1.23-38087c80ae Wed Mar 27 12:09:16 2024 -0400` +const version = `devel go1.23-fa64f04409 Wed Mar 27 12:22:52 2024 -0400` const defaultGOOS = runtime.GOOS const defaultGOARCH = runtime.GOARCH Change-Id: Ia933c6373f366f2e607b28d900227c24cb214674 Reviewed-on: https://go-review.googlesource.com/c/go/+/574735 Reviewed-by: Cherry Mui <cherryyz@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Michael Pratt <mpratt@google.com>
Diffstat (limited to 'src/cmd/dist')
-rw-r--r--src/cmd/dist/buildtool.go3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go
index 8949949bd2..1141981329 100644
--- a/src/cmd/dist/buildtool.go
+++ b/src/cmd/dist/buildtool.go
@@ -316,8 +316,7 @@ func bootstrapFixImports(srcFile string) string {
inBlock = false
continue
}
- if strings.HasPrefix(line, `import "`) || strings.HasPrefix(line, `import . "`) ||
- inBlock && (strings.HasPrefix(line, "\t\"") || strings.HasPrefix(line, "\t. \"") || strings.HasPrefix(line, "\texec \"") || strings.HasPrefix(line, "\trtabi \"") || strings.HasPrefix(line, "\tpgoir \"")) {
+ if strings.HasPrefix(line, `import `) || inBlock {
line = strings.Replace(line, `"cmd/`, `"bootstrap/cmd/`, -1)
for _, dir := range bootstrapDirs {
if strings.HasPrefix(dir, "cmd/") {