23 lines
1.2 KiB
Diff
23 lines
1.2 KiB
Diff
Starting from go1.14, go verifes that vendor/modules.txt matches the requirements
|
|
and replacements listed in the main module go.mod file, and it is a hard failure if
|
|
vendor/modules.txt is missing.
|
|
|
|
Relax module consistency checks and switch back to pre go1.14 behaviour if
|
|
vendor/modules.txt is missing regardless of go version requirement in go.mod.
|
|
|
|
This has been ported from FreeBSD: https://reviews.freebsd.org/D24122
|
|
See https://github.com/golang/go/issues/37948 for discussion.
|
|
|
|
diff --git a/src/cmd/go/internal/modload/vendor.go b/src/cmd/go/internal/modload/vendor.go
|
|
index ffc79bb93f..2d0311975d 100644
|
|
--- a/src/cmd/go/internal/modload/vendor.go
|
|
+++ b/src/cmd/go/internal/modload/vendor.go
|
|
@@ -144,7 +144,7 @@ func checkVendorConsistency(index *modFileIndex, modFile *modfile.File) {
|
|
readVendorList(MainModules.mustGetSingleMainModule())
|
|
|
|
pre114 := false
|
|
- if gover.Compare(index.goVersion, "1.14") < 0 {
|
|
+ if gover.Compare(index.goVersion, "1.14") < 0 || (os.Getenv("GO_NO_VENDOR_CHECKS") == "1" && len(vendorMeta) == 0) {
|
|
// Go versions before 1.14 did not include enough information in
|
|
// vendor/modules.txt to check for consistency.
|
|
// If we know that we're on an earlier version, relax the consistency check.
|