Inconsistent Use of Vendoring
tri-adam opened this issue · comments
This module includes a checked-in vendor/
directory, and portions of the Makefile
appear to aim to help maintain it. For example, make dep
runs go mod vendor
, among other things.
On the other hand, the build
target explicitly enables module mode via GO111MODULE=on
, which if I'm reading this post correctly, means the vendor directory is ignored (assuming Go >= 1.11.) The test
and cover
don't explicitly set GO111MODULE
, and so the behaviour of these rules depends on whether the code is being compiled inside or outside of $GOPATH/src
.
Is there a compelling reason that vendor/
is required? The Go maintainers appear to be signalling a move away from vendoring going forward (ref), and removing it would make the repo smaller and the Makefile
simpler.