]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go, go/build: clarify build constraint docs
authorIan Lance Taylor <iant@golang.org>
Fri, 10 Jun 2022 22:58:22 +0000 (15:58 -0700)
committerGopher Robot <gobot@golang.org>
Fri, 1 Jul 2022 15:39:01 +0000 (15:39 +0000)
Clarify that the //go:build line is an expression of constraints,
not a constraint itself.

Fixes #53308

Change-Id: Ib67243c6ee5cfe3b688c12b943b5e7496f686035
Reviewed-on: https://go-review.googlesource.com/c/go/+/411697
Reviewed-by: Rob Pike <r@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: David Chase <drchase@google.com>
src/cmd/go/alldocs.go
src/cmd/go/internal/help/helpdoc.go
src/cmd/go/internal/work/build.go
src/go/build/doc.go

index fdb7a085b09275dfe8bb3c926337f186ac22e8d8..78128dcf238b460a81fd930d1d168038a85a85f9 100644 (file)
 //             For example, when building with a non-standard configuration,
 //             use -pkgdir to keep generated packages in a separate location.
 //     -tags tag,list
-//             a comma-separated list of build tags to consider satisfied during the
-//             build. For more information about build tags, see the description of
-//             build constraints in the documentation for the go/build package.
-//             (Earlier versions of Go used a space-separated list, and that form
-//             is deprecated but still recognized.)
+//             a comma-separated list of additional build tags to consider satisfied
+//             during the build. For more information about build tags, see
+//             'go help buildconstraint'. (Earlier versions of Go used a
+//             space-separated list, and that form is deprecated but still recognized.)
 //     -trimpath
 //             remove all file system paths from the resulting executable.
 //             Instead of absolute file system paths, the recorded file names
 //
 // # Build constraints
 //
-// A build constraint, also known as a build tag, is a line comment that begins
+// A build constraint, also known as a build tag, is a condition under which a
+// file should be included in the package. Build constraints are given by a
+// line comment that begins
 //
 //     //go:build
 //
-// that lists the conditions under which a file should be included in the package.
 // Constraints may appear in any kind of source file (not just Go), but
 // they must appear near the top of the file, preceded
 // only by blank lines and other line comments. These rules mean that in Go
 // To distinguish build constraints from package documentation,
 // a build constraint should be followed by a blank line.
 //
-// A build constraint is evaluated as an expression containing options
-// combined by ||, &&, and ! operators and parentheses. Operators have
-// the same meaning as in Go.
+// A build constraint comment is evaluated as an expression containing
+// build tags combined by ||, &&, and ! operators and parentheses.
+// Operators have the same meaning as in Go.
 //
 // For example, the following build constraint constrains a file to
 // build when the "linux" and "386" constraints are satisfied, or when
 //
 // It is an error for a file to have more than one //go:build line.
 //
-// During a particular build, the following words are satisfied:
+// During a particular build, the following build tags are satisfied:
 //
 //   - the target operating system, as spelled by runtime.GOOS, set with the
 //     GOOS environment variable.
index 36bc4f28b7ce1c413f3231c21f48398e21985d15..c38c4030068dcc2d4f4764d89250ee71ccb88561 100644 (file)
@@ -812,11 +812,12 @@ var HelpBuildConstraint = &base.Command{
        UsageLine: "buildconstraint",
        Short:     "build constraints",
        Long: `
-A build constraint, also known as a build tag, is a line comment that begins
+A build constraint, also known as a build tag, is a condition under which a
+file should be included in the package. Build constraints are given by a
+line comment that begins
 
        //go:build
 
-that lists the conditions under which a file should be included in the package.
 Constraints may appear in any kind of source file (not just Go), but
 they must appear near the top of the file, preceded
 only by blank lines and other line comments. These rules mean that in Go
@@ -825,9 +826,9 @@ files a build constraint must appear before the package clause.
 To distinguish build constraints from package documentation,
 a build constraint should be followed by a blank line.
 
-A build constraint is evaluated as an expression containing options
-combined by ||, &&, and ! operators and parentheses. Operators have
-the same meaning as in Go.
+A build constraint comment is evaluated as an expression containing
+build tags combined by ||, &&, and ! operators and parentheses.
+Operators have the same meaning as in Go.
 
 For example, the following build constraint constrains a file to
 build when the "linux" and "386" constraints are satisfied, or when
@@ -837,7 +838,7 @@ build when the "linux" and "386" constraints are satisfied, or when
 
 It is an error for a file to have more than one //go:build line.
 
-During a particular build, the following words are satisfied:
+During a particular build, the following build tags are satisfied:
 
        - the target operating system, as spelled by runtime.GOOS, set with the
          GOOS environment variable.
index feb82d8d38ca50983e65bde8443bde7c53ad5a60..42745d992814c918c8b7a8a023d932b88d0f2d98 100644 (file)
@@ -151,11 +151,10 @@ and test commands:
                For example, when building with a non-standard configuration,
                use -pkgdir to keep generated packages in a separate location.
        -tags tag,list
-               a comma-separated list of build tags to consider satisfied during the
-               build. For more information about build tags, see the description of
-               build constraints in the documentation for the go/build package.
-               (Earlier versions of Go used a space-separated list, and that form
-               is deprecated but still recognized.)
+               a comma-separated list of additional build tags to consider satisfied
+               during the build. For more information about build tags, see
+               'go help buildconstraint'. (Earlier versions of Go used a
+               space-separated list, and that form is deprecated but still recognized.)
        -trimpath
                remove all file system paths from the resulting executable.
                Instead of absolute file system paths, the recorded file names
index 262f6709af7ff347be8ffac736451721f6bc3de9..cd1d3fd33ee2d9b83316b5e86ef538e2a395f79b 100644 (file)
 //
 // # Build Constraints
 //
-// A build constraint, also known as a build tag, is a line comment that begins
+// A build constraint, also known as a build tag, is a condition under which a
+// file should be included in the package. Build constraints are given by a
+// line comment that begins
 //
 //     //go:build
 //
-// that lists the conditions under which a file should be included in the
-// package. Build constraints may also be part of a file's name
+// Build constraints may also be part of a file's name
 // (for example, source_windows.go will only be included if the target
 // operating system is windows).
 //