]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/doc: better support for no network
authorMichael Matloob <matloob@golang.org>
Wed, 21 May 2025 18:47:49 +0000 (14:47 -0400)
committerGopher Robot <gobot@golang.org>
Wed, 21 May 2025 20:40:34 +0000 (13:40 -0700)
Allow skipping the deprecation check when GOPROXY=off. The deprecation
check is an informational message so this doesn't affect the success of
the command. We should probably skip the check in more cases when
GOPROXY=off but that's a bigger change that should be made in a later
release.

There are still some deps.dev log messages that we should try to
suppress.

For #68106

Change-Id: Ifa0efd01ed623bb68c7ad7c5cfb6705547d157a0
Reviewed-on: https://go-review.googlesource.com/c/go/+/675155
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Michael Matloob <matloob@google.com>
Reviewed-by: Michael Matloob <matloob@google.com>
Reviewed-by: Sam Thanawalla <samthanawalla@google.com>
src/cmd/doc/main.go
src/cmd/go/internal/load/pkg.go

index ccd851200671691a18089bb6b280a491dbc27a59..22db39ecc943bd71af4a38c8b5be4c7a45c76c6a 100644 (file)
@@ -259,10 +259,18 @@ func doPkgsite(urlPath string) error {
        signal.Ignore(signalsToIgnore...)
 
        const version = "v0.0.0-20250520201116-40659211760d"
-       cmd := exec.Command("go", "run", "golang.org/x/pkgsite/cmd/internal/doc@"+version,
+       docatversion := "golang.org/x/pkgsite/cmd/internal/doc@" + version
+       // First download the module and then try to run with GOPROXY=off to circumvent
+       // the deprecation check. This will allow the pkgsite command to run if it's
+       // in the module cache but there's no network.
+       if _, err := runCmd(nil, "go", "mod", "download", docatversion); err != nil {
+               return err
+       }
+       cmd := exec.Command("go", "run", docatversion,
                "-gorepo", buildCtx.GOROOT,
                "-http", addr,
                "-open", path)
+       cmd.Env = append(os.Environ(), "GOPROXY=off")
        cmd.Stdout = os.Stderr
        cmd.Stderr = os.Stderr
 
index e913f9885234fda9330bb6b7ead384cd39228b18..34e8c90b2faa3e955d6dd304dcaa240c59f2cbc6 100644 (file)
@@ -3410,7 +3410,7 @@ func PackagesAndErrorsOutsideModule(ctx context.Context, opts PackageOpts, args
        }
        rootMod := qrs[0].Mod
        deprecation, err := modload.CheckDeprecation(ctx, rootMod)
-       if err != nil {
+       if err != nil && !errors.Is(err, fs.ErrNotExist) {
                return nil, fmt.Errorf("%s: %w", args[0], err)
        }
        if deprecation != "" {