aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cmd/go/alldocs.go20
-rw-r--r--src/cmd/go/internal/work/build.go20
2 files changed, 24 insertions, 16 deletions
diff --git a/src/cmd/go/alldocs.go b/src/cmd/go/alldocs.go
index e7c63f0749..84f89c9d2d 100644
--- a/src/cmd/go/alldocs.go
+++ b/src/cmd/go/alldocs.go
@@ -692,18 +692,22 @@
// arguments must satisfy the following constraints:
//
// - Arguments must be package paths or package patterns (with "..." wildcards).
-// They must not be standard packages (like fmt), meta-patterns (std, cmd,
-// all), or relative or absolute file paths.
+// They must not be standard packages (like fmt), meta-patterns (std, cmd,
+// all), or relative or absolute file paths.
+//
// - All arguments must have the same version suffix. Different queries are not
-// allowed, even if they refer to the same version.
+// allowed, even if they refer to the same version.
+//
// - All arguments must refer to packages in the same module at the same version.
+//
// - No module is considered the "main" module. If the module containing
-// packages named on the command line has a go.mod file, it must not contain
-// directives (replace and exclude) that would cause it to be interpreted
-// differently than if it were the main module. The module must not require
-// a higher version of itself.
+// packages named on the command line has a go.mod file, it must not contain
+// directives (replace and exclude) that would cause it to be interpreted
+// differently than if it were the main module. The module must not require
+// a higher version of itself.
+//
// - Package path arguments must refer to main packages. Pattern arguments
-// will only match main packages.
+// will only match main packages.
//
// If the arguments don't have version suffixes, "go install" may run in
// module-aware mode or GOPATH mode, depending on the GO111MODULE environment
diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
index 780d639c5d..f024b07b22 100644
--- a/src/cmd/go/internal/work/build.go
+++ b/src/cmd/go/internal/work/build.go
@@ -482,18 +482,22 @@ To eliminate ambiguity about which module versions are used in the build, the
arguments must satisfy the following constraints:
- Arguments must be package paths or package patterns (with "..." wildcards).
- They must not be standard packages (like fmt), meta-patterns (std, cmd,
- all), or relative or absolute file paths.
+They must not be standard packages (like fmt), meta-patterns (std, cmd,
+all), or relative or absolute file paths.
+
- All arguments must have the same version suffix. Different queries are not
- allowed, even if they refer to the same version.
+allowed, even if they refer to the same version.
+
- All arguments must refer to packages in the same module at the same version.
+
- No module is considered the "main" module. If the module containing
- packages named on the command line has a go.mod file, it must not contain
- directives (replace and exclude) that would cause it to be interpreted
- differently than if it were the main module. The module must not require
- a higher version of itself.
+packages named on the command line has a go.mod file, it must not contain
+directives (replace and exclude) that would cause it to be interpreted
+differently than if it were the main module. The module must not require
+a higher version of itself.
+
- Package path arguments must refer to main packages. Pattern arguments
- will only match main packages.
+will only match main packages.
If the arguments don't have version suffixes, "go install" may run in
module-aware mode or GOPATH mode, depending on the GO111MODULE environment