pkg encoding/asn1, const TagBMPString = 30
pkg encoding/asn1, const TagBMPString ideal-int
pkg encoding/json, method (*Decoder) InputOffset() int64
-pkg go/build, type Context struct, WorkingDir string
+pkg go/build, type Context struct, Dir string
pkg go/doc, func NewFromFiles(*token.FileSet, []*ast.File, string, ...interface{}) (*Package, error)
pkg go/doc, type Example struct, Suffix string
pkg go/doc, type Func struct, Examples []*Example
GOROOT string // Go root
GOPATH string // Go path
- // WorkingDir is the caller's working directory, or the empty string to use
+ // Dir is the caller's working directory, or the empty string to use
// the current directory of the running process. In module mode, this is used
// to locate the main module.
//
- // If WorkingDir is non-empty, directories passed to Import and ImportDir must
+ // If Dir is non-empty, directories passed to Import and ImportDir must
// be absolute.
- WorkingDir string
+ Dir string
CgoEnabled bool // whether cgo files are included
UseAllFiles bool // use files regardless of +build lines, file names
var absSrcDir string
if filepath.IsAbs(srcDir) {
absSrcDir = srcDir
- } else if ctxt.WorkingDir != "" {
- return fmt.Errorf("go/build: WorkingDir is non-empty, so relative srcDir is not allowed: %v", srcDir)
+ } else if ctxt.Dir != "" {
+ return fmt.Errorf("go/build: Dir is non-empty, so relative srcDir is not allowed: %v", srcDir)
} else {
// Find the absolute source directory. hasSubdir does not handle
// relative paths (and can't because the callbacks don't support this).
parent string
err error
)
- if ctxt.WorkingDir == "" {
+ if ctxt.Dir == "" {
parent, err = os.Getwd()
if err != nil {
// A nonexistent working directory can't be in a module.
return errNoModules
}
} else {
- parent, err = filepath.Abs(ctxt.WorkingDir)
+ parent, err = filepath.Abs(ctxt.Dir)
if err != nil {
- // If the caller passed a bogus WorkingDir explicitly, that's materially
+ // If the caller passed a bogus Dir explicitly, that's materially
// different from not having modules enabled.
return err
}
cmd := exec.Command("go", "list", "-e", "-compiler="+ctxt.Compiler, "-tags="+strings.Join(ctxt.BuildTags, ","), "-installsuffix="+ctxt.InstallSuffix, "-f={{.Dir}}\n{{.ImportPath}}\n{{.Root}}\n{{.Goroot}}\n{{if .Error}}{{.Error}}{{end}}\n", "--", path)
- if ctxt.WorkingDir != "" {
- cmd.Dir = ctxt.WorkingDir
+ if ctxt.Dir != "" {
+ cmd.Dir = ctxt.Dir
}
var stdout, stderr strings.Builder
defer os.RemoveAll(emptyDir)
ctxt.GOPATH = emptyDir
- ctxt.WorkingDir = emptyDir
+ ctxt.Dir = emptyDir
tests := []struct {
label string
os.Setenv("GOPATH", gopath)
ctxt := Default
ctxt.GOPATH = gopath
- ctxt.WorkingDir = filepath.Join(gopath, "src/example.com/p")
+ ctxt.Dir = filepath.Join(gopath, "src/example.com/p")
want := "cannot find module providing package"
if _, err := ctxt.Import("example.com/p", gopath, FindOnly); err == nil {
os.Setenv("GONOPROXY", "none")
ctxt := Default
- ctxt.WorkingDir = tmp
+ ctxt.Dir = tmp
pkgPath := "example.com/hello"
_, err = ctxt.Import(pkgPath, tmp, FindOnly)