]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: for missing binary-only package, say where it should be
authorIan Lance Taylor <iant@golang.org>
Wed, 25 Jul 2018 17:03:40 +0000 (10:03 -0700)
committerIan Lance Taylor <iant@golang.org>
Wed, 25 Jul 2018 23:32:37 +0000 (23:32 +0000)
Before this CL the user effectively has to guess at the expected
location of a binary-only package. While the location is normally
obvious ($GOPATH/pkg/GOOS_GOARCH/PATH/PKG.a) it is much less so when
building with options that implicitly add an -installsufix option.

Fixes #26590

Change-Id: I753ef54d6dcf733bb456dba65a4a92e4db57a1b0
Reviewed-on: https://go-review.googlesource.com/125818
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
src/cmd/go/internal/work/exec.go
src/cmd/go/testdata/script/binary_only.txt [new file with mode: 0644]

index 5d3d2ef77fc21bde7ebfbe31996a9f43aeb89a1b..38ff22211cf4f972852e7dece2b9a2775c1e68d2 100644 (file)
@@ -411,7 +411,7 @@ func (b *Builder) build(a *Action) (err error) {
                if b.IsCmdList {
                        return nil
                }
-               return fmt.Errorf("missing or invalid binary-only package")
+               return fmt.Errorf("missing or invalid binary-only package; expected file %q", a.Package.Target)
        }
 
        if err := b.Mkdir(a.Objdir); err != nil {
diff --git a/src/cmd/go/testdata/script/binary_only.txt b/src/cmd/go/testdata/script/binary_only.txt
new file mode 100644 (file)
index 0000000..397904e
--- /dev/null
@@ -0,0 +1,10 @@
+# check that error for missing binary-only says where it should be
+! go build b
+stderr pkg[\\/].*a\.a
+
+-- a/a.go --
+//go:binary-only-package
+
+package a
+-- b/b.go --
+package b; import "a"