diff options
Diffstat (limited to 'src/cmd/internal/doc')
| -rw-r--r-- | src/cmd/internal/doc/main.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/cmd/internal/doc/main.go b/src/cmd/internal/doc/main.go index c51fbef517..5032000cda 100644 --- a/src/cmd/internal/doc/main.go +++ b/src/cmd/internal/doc/main.go @@ -15,6 +15,7 @@ import ( "io" "log" "net" + "net/url" "os" "os/exec" "os/signal" @@ -214,7 +215,10 @@ func doPkgsite(urlPath string) error { return fmt.Errorf("failed to find port for documentation server: %v", err) } addr := fmt.Sprintf("localhost:%d", port) - path := path.Join("http://"+addr, urlPath) + path, err := url.JoinPath("http://"+addr, urlPath) + if err != nil { + return fmt.Errorf("internal error: failed to construct url: %v", err) + } // Turn off the default signal handler for SIGINT (and SIGQUIT on Unix) // and instead wait for the child process to handle the signal and @@ -223,7 +227,7 @@ func doPkgsite(urlPath string) error { // Prepend the local download cache to GOPROXY to get around deprecation checks. env := os.Environ() - vars, err := runCmd(nil, "go", "env", "GOPROXY", "GOMODCACHE") + vars, err := runCmd(env, goCmd(), "env", "GOPROXY", "GOMODCACHE") fields := strings.Fields(vars) if err == nil && len(fields) == 2 { goproxy, gomodcache := fields[0], fields[1] @@ -240,7 +244,7 @@ func doPkgsite(urlPath string) error { } const version = "v0.0.0-20250608123103-82c52f1754cd" - cmd := exec.Command("go", "run", "golang.org/x/pkgsite/cmd/internal/doc@"+version, + cmd := exec.Command(goCmd(), "run", "golang.org/x/pkgsite/cmd/internal/doc@"+version, "-gorepo", buildCtx.GOROOT, "-http", addr, "-open", path) |
