If I have some conditional dependencies (i.e. ones that are defined in files that are build only on e.g. linux), and I run glock save on a system where those conditional dependencies are not required, my GLOCKFILE will not include all possible dependencies of my project.
This has implications when developing on OS X and running CI on linux.
A cursory look at the glock code reveals that we're currently shelling out to go list, which I don't think allows specifying build tags, but we should really be using the go/build package anyway, and specifying the union of (at least) all OS build tags when resolving dependencies.
If I have some conditional dependencies (i.e. ones that are defined in files that are build only on e.g. linux), and I run
glock saveon a system where those conditional dependencies are not required, my GLOCKFILE will not include all possible dependencies of my project.This has implications when developing on OS X and running CI on linux.
A cursory look at the glock code reveals that we're currently shelling out to
go list, which I don't think allows specifying build tags, but we should really be using thego/buildpackage anyway, and specifying the union of (at least) all OS build tags when resolving dependencies.