Commit 1a6c0c6b authored by Dmitri Shuralyov's avatar Dmitri Shuralyov

cmd/go: document GoVersion field in Module struct

The 'go version' statement was added during Go 1.11 development in
CL 125940. That CL added the GoVersion field to modinfo.ModulePublic
struct, but did not document it in cmd/go documentation. This was
consistent with the CL description, which stated "We aren't planning
to use this or advertise it much yet".

CL 147281, applied during Go 1.12 development, was a change to start
adding the 'go version' statement when initializing go.mod. The 'go
version' statement is now being used, and it has been documented in
the Go 1.12 release notes at https://golang.org/doc/go1.12#modules.
It's now due time to documement the GoVersion field in cmd/go as well.

Keep the Error field bottom-most, both because it makes sense not to
place it in the middle of other fields, and for consistency with the
field order in struct Package, where the Error information is located
at the very bottom.

Regenerate alldocs.go by running mkalldocs.sh.

Updates #28221
Updates #23969

Change-Id: Iaf43a0da4f6a2489d861092a1d4e002a532952cb
Reviewed-on: https://go-review.googlesource.com/c/go/+/164878
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarBryan C. Mills <bcmills@google.com>
parent c5babcc4
...@@ -790,17 +790,18 @@ ...@@ -790,17 +790,18 @@
// applied to a Go struct, but now a Module struct: // applied to a Go struct, but now a Module struct:
// //
// type Module struct { // type Module struct {
// Path string // module path // Path string // module path
// Version string // module version // Version string // module version
// Versions []string // available module versions (with -versions) // Versions []string // available module versions (with -versions)
// Replace *Module // replaced by this module // Replace *Module // replaced by this module
// Time *time.Time // time version was created // Time *time.Time // time version was created
// Update *Module // available update, if any (with -u) // Update *Module // available update, if any (with -u)
// Main bool // is this the main module? // Main bool // is this the main module?
// Indirect bool // is this module only an indirect dependency of main module? // Indirect bool // is this module only an indirect dependency of main module?
// Dir string // directory holding files for this module, if any // Dir string // directory holding files for this module, if any
// GoMod string // path to go.mod file for this module, if any // GoMod string // path to go.mod file for this module, if any
// Error *ModuleError // error loading module // GoVersion string // go version used in module
// Error *ModuleError // error loading module
// } // }
// //
// type ModuleError struct { // type ModuleError struct {
......
...@@ -202,17 +202,18 @@ When listing modules, the -f flag still specifies a format template ...@@ -202,17 +202,18 @@ When listing modules, the -f flag still specifies a format template
applied to a Go struct, but now a Module struct: applied to a Go struct, but now a Module struct:
type Module struct { type Module struct {
Path string // module path Path string // module path
Version string // module version Version string // module version
Versions []string // available module versions (with -versions) Versions []string // available module versions (with -versions)
Replace *Module // replaced by this module Replace *Module // replaced by this module
Time *time.Time // time version was created Time *time.Time // time version was created
Update *Module // available update, if any (with -u) Update *Module // available update, if any (with -u)
Main bool // is this the main module? Main bool // is this the main module?
Indirect bool // is this module only an indirect dependency of main module? Indirect bool // is this module only an indirect dependency of main module?
Dir string // directory holding files for this module, if any Dir string // directory holding files for this module, if any
GoMod string // path to go.mod file for this module, if any GoMod string // path to go.mod file for this module, if any
Error *ModuleError // error loading module GoVersion string // go version used in module
Error *ModuleError // error loading module
} }
type ModuleError struct { type ModuleError struct {
......
...@@ -20,8 +20,8 @@ type ModulePublic struct { ...@@ -20,8 +20,8 @@ type ModulePublic struct {
Indirect bool `json:",omitempty"` // module is only indirectly needed by main module Indirect bool `json:",omitempty"` // module is only indirectly needed by main module
Dir string `json:",omitempty"` // directory holding local copy of files, if any Dir string `json:",omitempty"` // directory holding local copy of files, if any
GoMod string `json:",omitempty"` // path to go.mod file describing module, if any GoMod string `json:",omitempty"` // path to go.mod file describing module, if any
Error *ModuleError `json:",omitempty"` // error loading module
GoVersion string `json:",omitempty"` // go version used in module GoVersion string `json:",omitempty"` // go version used in module
Error *ModuleError `json:",omitempty"` // error loading module
} }
type ModuleError struct { type ModuleError struct {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment