From: Russ Cox Date: Mon, 5 Mar 2012 19:41:30 +0000 (-0500) Subject: cmd/go: sync type Package and go list doc X-Git-Tag: weekly.2012-03-13~225 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=eb5db57d1aa3dbff48693af0673746c232da875e;p=gostls13.git cmd/go: sync type Package and go list doc R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5730061 --- diff --git a/src/cmd/go/list.go b/src/cmd/go/list.go index fa3f5d330b..99a8704021 100644 --- a/src/cmd/go/list.go +++ b/src/cmd/go/list.go @@ -30,30 +30,41 @@ is equivalent to -f '{{.ImportPath}}'. The struct being passed to the template is: type Package struct { + Dir string // directory containing package sources + ImportPath string // import path of package in dir Name string // package name Doc string // package documentation string - ImportPath string // import path of package in dir - Dir string // directory containing package sources - Version string // version of installed package (TODO) + Target string // install path + Goroot bool // is this package in the Go root? + Standard bool // is this package part of the standard Go library? Stale bool // would 'go install' do anything for this package? + Root string // Go root or Go path dir containing this package // Source files - GoFiles []string // .go source files (excluding CgoFiles, TestGoFiles, and XTestGoFiles) - TestGoFiles []string // _test.go source files internal to the package they are testing - XTestGoFiles []string // _test.go source files external to the package they are testing - CFiles []string // .c source files - HFiles []string // .h source files - SFiles []string // .s source files - CgoFiles []string // .go sources files that import "C" + GoFiles []string // .go source files (excluding CgoFiles, TestGoFiles, XTestGoFiles) + CgoFiles []string // .go sources files that import "C" + CFiles []string // .c source files + HFiles []string // .h source files + SFiles []string // .s source files + + // Cgo directives + CgoCFLAGS []string // cgo: flags for C compiler + CgoLDFLAGS []string // cgo: flags for linker + CgoPkgConfig []string // cgo: pkg-config names // Dependency information Imports []string // import paths used by this package Deps []string // all (recursively) imported dependencies - + // Error information Incomplete bool // this package or a dependency has an error - Error *PackageError // error loading package + Error *PackageError // error loading package DepsErrors []*PackageError // errors loading dependencies + + TestGoFiles []string // _test.go files in package + TestImports []string // imports from TestGoFiles + XTestGoFiles []string // _test.go files outside package + XTestImports []string // imports from XTestGoFiles } The -json flag causes the package data to be printed in JSON format diff --git a/src/cmd/go/pkg.go b/src/cmd/go/pkg.go index 3763000c6b..5878d8f71e 100644 --- a/src/cmd/go/pkg.go +++ b/src/cmd/go/pkg.go @@ -24,21 +24,18 @@ type Package struct { // Note: These fields are part of the go command's public API. // See list.go. It is okay to add fields, but not to change or // remove existing ones. Keep in sync with list.go - Dir string `json:",omitempty"` // directory containing package sources - ImportPath string `json:",omitempty"` // import path of package in dir - Name string `json:",omitempty"` // package name - Doc string `json:",omitempty"` // package documentation string - Target string `json:",omitempty"` // install path - Goroot bool `json:",omitempty"` // is this package found in the Go root? - Standard bool `json:",omitempty"` // is this package part of the standard Go library? - Stale bool `json:",omitempty"` // would 'go install' do anything for this package? - Incomplete bool `json:",omitempty"` // was there an error loading this package or dependencies? - Error *PackageError `json:",omitempty"` // error loading this package (not dependencies) - - Root string `json:",omitempty"` // root dir of tree this package belongs to + Dir string `json:",omitempty"` // directory containing package sources + ImportPath string `json:",omitempty"` // import path of package in dir + Name string `json:",omitempty"` // package name + Doc string `json:",omitempty"` // package documentation string + Target string `json:",omitempty"` // install path + Goroot bool `json:",omitempty"` // is this package found in the Go root? + Standard bool `json:",omitempty"` // is this package part of the standard Go library? + Stale bool `json:",omitempty"` // would 'go install' do anything for this package? + Root string `json:",omitempty"` // Go root or Go path dir containing this package // Source files - GoFiles []string `json:",omitempty"` // .go source files (excluding CgoFiles, TestGoFiles XTestGoFiles) + GoFiles []string `json:",omitempty"` // .go source files (excluding CgoFiles, TestGoFiles, XTestGoFiles) CgoFiles []string `json:",omitempty"` // .go sources files that import "C" CFiles []string `json:",omitempty"` // .c source files HFiles []string `json:",omitempty"` // .h source files @@ -50,8 +47,12 @@ type Package struct { CgoPkgConfig []string `json:",omitempty"` // cgo: pkg-config names // Dependency information - Imports []string `json:",omitempty"` // import paths used by this package - Deps []string `json:",omitempty"` // all (recursively) imported dependencies + Imports []string `json:",omitempty"` // import paths used by this package + Deps []string `json:",omitempty"` // all (recursively) imported dependencies + + // Error information + Incomplete bool `json:",omitempty"` // was there an error loading this package or dependencies? + Error *PackageError `json:",omitempty"` // error loading this package (not dependencies) DepsErrors []*PackageError `json:",omitempty"` // errors loading dependencies // Test information