]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go, go/build: document form of import paths
authorRuss Cox <rsc@golang.org>
Wed, 26 Oct 2016 17:06:37 +0000 (13:06 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 28 Oct 2016 19:34:16 +0000 (19:34 +0000)
Fixes #16164.

Change-Id: Ic8f51ebd8235640143913a07b70f5b41ee061fe4
Reviewed-on: https://go-review.googlesource.com/32114
Reviewed-by: Quentin Smith <quentin@golang.org>
src/cmd/go/list.go
src/go/build/build.go

index 48678e73955faba79de53b518f618657978f97ca..2f240834b2a4486ddd1c1e5b02bac5c7a08e7ca8 100644 (file)
@@ -59,6 +59,8 @@ syntax of package template.  The default output is equivalent to -f
         SwigFiles      []string // .swig files
         SwigCXXFiles   []string // .swigcxx files
         SysoFiles      []string // .syso object files to add to archive
+        TestGoFiles    []string // _test.go files in package
+        XTestGoFiles   []string // _test.go files outside package
 
         // Cgo directives
         CgoCFLAGS    []string // cgo: flags for C compiler
@@ -69,20 +71,23 @@ syntax of package template.  The default output is equivalent to -f
         CgoPkgConfig []string // cgo: pkg-config names
 
         // Dependency information
-        Imports []string // import paths used by this package
-        Deps    []string // all (recursively) imported dependencies
+        Imports      []string // import paths used by this package
+        Deps         []string // all (recursively) imported dependencies
+        TestImports  []string // imports from TestGoFiles
+        XTestImports []string // imports from XTestGoFiles
 
         // Error information
         Incomplete bool            // this package or a dependency has an error
         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
     }
 
+Packages stored in vendor directories report an ImportPath that includes the
+path to the vendor directory (for example, "d/vendor/p" instead of "p"),
+so that the ImportPath uniquely identifies a given copy of a package.
+The Imports, Deps, TestImports, and XTestImports lists also contain these
+expanded imports paths. See golang.org/s/go15vendor for more about vendoring.
+
 The error information, if any, is
 
     type PackageError struct {
index e26ab48aa4afd5be57f7dffc8fe51d094c692861..28de5596c50fcd3ba949a4095fc50ea854b2ac5f 100644 (file)
@@ -340,6 +340,11 @@ const (
        // See golang.org/s/go15vendor for more information.
        //
        // Setting IgnoreVendor ignores vendor directories.
+       //
+       // In contrast to the package's ImportPath,
+       // the returned package's Imports, TestImports, and XTestImports
+       // are always the exact import paths from the source files:
+       // Import makes no attempt to resolve or check those paths.
        IgnoreVendor
 )
 
@@ -385,15 +390,15 @@ type Package struct {
        CgoPkgConfig []string // Cgo pkg-config directives
 
        // Dependency information
-       Imports   []string                    // imports from GoFiles, CgoFiles
+       Imports   []string                    // import paths from GoFiles, CgoFiles
        ImportPos map[string][]token.Position // line information for Imports
 
        // Test information
        TestGoFiles    []string                    // _test.go files in package
-       TestImports    []string                    // imports from TestGoFiles
+       TestImports    []string                    // import paths from TestGoFiles
        TestImportPos  map[string][]token.Position // line information for TestImports
        XTestGoFiles   []string                    // _test.go files outside package
-       XTestImports   []string                    // imports from XTestGoFiles
+       XTestImports   []string                    // import paths from XTestGoFiles
        XTestImportPos map[string][]token.Position // line information for XTestImports
 }