Commit 53a00e28 authored by Rob Pike's avatar Rob Pike

cmd/go: log compilation errors when scanning directories and packages

Before, some packages disappear silently if the package cannot be imported,
such as if the import statement is unparseable.
Before:
        % ls src
        foo   issue
        % go list ./...
        _/home/r/bug/src/foo
        %
After:
        % go list ./...
        src/issue/issue.go:3:5: expected 'STRING', found newline
        _/home/r/bug/src/foo
        %

R=rsc
CC=golang-dev
https://golang.org/cl/10568043
parent 15790204
...@@ -486,6 +486,9 @@ func matchPackages(pattern string) []string { ...@@ -486,6 +486,9 @@ func matchPackages(pattern string) []string {
} }
_, err = buildContext.ImportDir(path, 0) _, err = buildContext.ImportDir(path, 0)
if err != nil { if err != nil {
if _, noGo := err.(*build.NoGoError); !noGo {
log.Print(err)
}
return nil return nil
} }
pkgs = append(pkgs, name) pkgs = append(pkgs, name)
...@@ -520,8 +523,10 @@ func matchPackages(pattern string) []string { ...@@ -520,8 +523,10 @@ func matchPackages(pattern string) []string {
return nil return nil
} }
_, err = buildContext.ImportDir(path, 0) _, err = buildContext.ImportDir(path, 0)
if err != nil && strings.Contains(err.Error(), "no Go source files") { if err != nil {
return nil if _, noGo := err.(*build.NoGoError); noGo {
return nil
}
} }
pkgs = append(pkgs, name) pkgs = append(pkgs, name)
return nil return nil
...@@ -588,6 +593,9 @@ func matchPackagesInFS(pattern string) []string { ...@@ -588,6 +593,9 @@ func matchPackagesInFS(pattern string) []string {
return nil return nil
} }
if _, err = build.ImportDir(path, 0); err != nil { if _, err = build.ImportDir(path, 0); err != nil {
if _, noGo := err.(*build.NoGoError); !noGo {
log.Print(err)
}
return nil return nil
} }
pkgs = append(pkgs, name) pkgs = append(pkgs, name)
......
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