]> Cypherpunks repositories - gostls13.git/commit
cmd/go: clean up after 'go build' during 'go install'
authorRuss Cox <rsc@golang.org>
Mon, 20 Apr 2015 04:37:37 +0000 (00:37 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 4 Jun 2015 04:12:32 +0000 (04:12 +0000)
commit227fb116bede3b09ba7399303ebac36eec43ff8a
treeb891600f5e7fd6071e23b99823374b8c713fece9
parent119daba94e22516e1371b94fb2cb3cb4b32727ef
cmd/go: clean up after 'go build' during 'go install'

If 'go install' (with no arguments, meaning the current directory)
succeeds, remove the executable written by 'go build', if present.
This avoids leaving a stale binary behind during a sequence like:

go build
<test, mostly works, make small change>
go install

Before this CL, the current directory still has the stale binary
from 'go build'. If $PATH contains dot, running the name of
the program will find this stale binary instead of the new,
installed one.

Remove the 'go build' target during 'go install', both to clean
up the directory and to avoid accidentally running the stale binary.

Another way to view this CL is that it makes the go command
behave as if 'go install' is implemented by 'go build' followed by
moving the resulting binary to the install location.

See #9645 for discussion and objections.

Fixes #9645.

Change-Id: Ide109572f96bbb5a35be45dda17738317462a7d4
Reviewed-on: https://go-review.googlesource.com/10682
Reviewed-by: Rob Pike <r@golang.org>
src/cmd/go/build.go
src/cmd/go/test.bash