// Attempt to guess at the package name at the top level. When unable to detect // a name goes to default of "main". func guessPackageName(b *util.BuildCtxt, base string) string { cwd, err := os.Getwd() if err != nil { return "main" } pkg, err := b.Import(base, cwd, 0) if err != nil { // There may not be any top level Go source files but the project may // still be within the GOPATH. if strings.HasPrefix(base, b.GOPATH) { p := strings.TrimPrefix(base, b.GOPATH) return strings.Trim(p, string(os.PathSeparator)) } } return pkg.ImportPath }