| env GO111MODULE=on |
| [short] skip |
| |
| # Populate go.mod and go.sum. |
| go mod tidy |
| |
| # initial conditions: using sampler v1.3.0, not listed in go.mod. |
| go list -deps |
| stdout rsc.io/sampler |
| ! grep 'rsc.io/sampler v1.3.0' go.mod |
| |
| # update to v1.3.1, now indirect in go.mod. |
| go get -d rsc.io/sampler@v1.3.1 |
| grep 'rsc.io/sampler v1.3.1 // indirect' go.mod |
| cp go.mod go.mod.good |
| |
| # vendoring can but should not need to make changes. |
| go mod vendor |
| cmp go.mod go.mod.good |
| |
| # go list -mod=vendor (or go build -mod=vendor) must not modify go.mod. |
| # golang.org/issue/26704 |
| go list -mod=vendor |
| cmp go.mod go.mod.good |
| |
| # With a clean (and empty) module cache, 'go list -mod=vendor' should not download modules. |
| go clean -modcache |
| env GOPROXY=off |
| ! go list ... |
| go list -mod=vendor ... |
| |
| # However, it should still list packages in the main module. |
| go list -mod=vendor m/... |
| stdout m |
| |
| -- go.mod -- |
| module m |
| go 1.12 |
| -- x.go -- |
| package x |
| import _ "rsc.io/quote" |