Description
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version
)?
go 1.10
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env
)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/iand/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/iand"
GORACE=""
GOROOT="/opt/go"
GOTMPDIR=""
GOTOOLDIR="/opt/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build364187917=/tmp/go-build -gno-record-gcc-switches"
What did you do?
Added a dependency on a package not referred to in an import statement. In this sample it's a tool required for go generate but in the codebase where I first encountered this issue it is several tools used as part of the continuous build process that we have previously vendored in the past using govendor and dep.
Example that reproduces it.
- Checked out https://github.com/iand/vgo-vendor
- Added
require golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b
togo.mod
- Ran vgo build
- Ran vgo vendor
What did you expect to see?
The source for golang.org/x/tools to be copied into vendor directory
What did you see instead?
vendor/vgo.list updated to
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b
but golang.org/x/tools is not copied to the vendor directory.
I note from a quick look at the vgo source that the vendor command uses the import list to build the copy list but uses a different list when writing vgo.list