]> Cypherpunks repositories - gostls13.git/commit
cmd/go: diagnose non-canonical import paths before compilation
authorRuss Cox <rsc@golang.org>
Fri, 21 Oct 2016 20:04:41 +0000 (16:04 -0400)
committerRuss Cox <rsc@golang.org>
Wed, 26 Oct 2016 13:54:45 +0000 (13:54 +0000)
commit59b0e147603e4a3a6170b56e30383a94e157e37a
tree183108ef633218076934455afd21ad797d2c3da1
parente3324a4b6640da2dc8d3f086a8ed490aedae7091
cmd/go: diagnose non-canonical import paths before compilation

If we leave it for compilation sometimes the error appears first
in derived vendor paths, without any indication where they came from.
This is better.

$ go1.7 build canonical/d
cmd/go/testdata/src/canonical/a/a.go:3: non-canonical import path "canonical/a//vendor/c" (should be "canonical/a/vendor/c")
cmd/go/testdata/src/canonical/a/a.go:3: can't find import: "canonical/a//vendor/c"

$ go build canonical/d
package canonical/d
imports canonical/b
imports canonical/a/: non-canonical import path: "canonical/a/" should be "canonical/a"
$

Fixes #16954.

Change-Id: I315ccec92a00d98a08c139b3dc4e17dbc640edd0
Reviewed-on: https://go-review.googlesource.com/31668
Reviewed-by: Quentin Smith <quentin@golang.org>
src/cmd/go/go_test.go
src/cmd/go/pkg.go
src/cmd/go/testdata/src/canonical/a/a.go [new file with mode: 0644]
src/cmd/go/testdata/src/canonical/a/vendor/c/c.go [new file with mode: 0644]
src/cmd/go/testdata/src/canonical/b/b.go [new file with mode: 0644]
src/cmd/go/testdata/src/canonical/d/d.go [new file with mode: 0644]