Skip to content

Commit

Permalink
cmd/go: include cfg.BuildModReason in 'import lookup disabled' errors
Browse files Browse the repository at this point in the history
This location was missed in CL 204521.

Updates #33326
Updates #33848

Change-Id: I0ece6d9b37548d8abb54f79c69be5548a0428c76
Reviewed-on: https://go-review.googlesource.com/c/go/+/210341
Run-TryBot: Bryan C. Mills <[email protected]>
TryBot-Result: Gobot Gobot <[email protected]>
Reviewed-by: Jay Conrod <[email protected]>
  • Loading branch information
Bryan C. Mills committed Dec 6, 2019
1 parent df0ac45 commit 76d2f6c
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 8 deletions.
13 changes: 7 additions & 6 deletions src/cmd/go/internal/modload/import.go
Original file line number Diff line number Diff line change
Expand Up @@ -183,13 +183,14 @@ func Import(path string) (m module.Version, dir string, err error) {
// Look up module containing the package, for addition to the build list.
// Goal is to determine the module, download it to dir, and return m, dir, ErrMissing.
if cfg.BuildMod == "readonly" {
if pathIsStd {
// 'import lookup disabled' would be confusing for standard-library paths,
// since the user probably isn't expecting us to look up a module for
// those anyway.
return module.Version{}, "", &ImportMissingError{Path: path}
var queryErr error
if !pathIsStd {
if cfg.BuildModReason == "" {
queryErr = fmt.Errorf("import lookup disabled by -mod=%s", cfg.BuildMod)
}
queryErr = fmt.Errorf("import lookup disabled by -mod=%s\n\t(%s)", cfg.BuildMod, cfg.BuildModReason)
}
return module.Version{}, "", fmt.Errorf("import lookup disabled by -mod=%s", cfg.BuildMod)
return module.Version{}, "", &ImportMissingError{Path: path, QueryErr: queryErr}
}
if modRoot == "" && !allowMissingModuleImports {
return module.Version{}, "", &ImportMissingError{
Expand Down
2 changes: 1 addition & 1 deletion src/cmd/go/testdata/script/mod_list_e_readonly.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# to individual missing packages.
# Verifies golang.org/issue/34829.
go list -mod=readonly -e -deps -f '{{if .Error}}{{.ImportPath}}: {{.Error}}{{end}}' .
stdout 'example.com/missing: use.go:3:8: import lookup disabled by -mod=readonly'
stdout 'example.com/missing: use.go:3:8: cannot find module providing package example.com/missing: import lookup disabled by -mod=readonly'

-- go.mod --
module example.com/m
Expand Down
3 changes: 2 additions & 1 deletion src/cmd/go/testdata/script/mod_readonly.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@ env GOFLAGS=-mod=readonly
go mod edit -fmt
cp go.mod go.mod.empty
! go list all
stderr 'import lookup disabled by -mod=readonly'
stderr '^can''t load package: x.go:2:8: cannot find module providing package rsc\.io/quote: import lookup disabled by -mod=readonly'
cmp go.mod go.mod.empty

# -mod=readonly should be set implicitly if the go.mod file is read-only
chmod 0400 go.mod
env GOFLAGS=
! go list all
stderr '^can''t load package: x.go:2:8: cannot find module providing package rsc\.io/quote: import lookup disabled by -mod=readonly\n\t\(go.mod file is read-only\.\)$'

chmod 0600 go.mod
env GOFLAGS=-mod=readonly
Expand Down

0 comments on commit 76d2f6c

Please sign in to comment.