build` is the out of scope of their responsibility dep document says* if you need the tool to be installed you still run the following (manually or from a `Makefile`) after each `dep ensure` ``` cd vendor/pkg/to/install go install . ``` * https://golang.github.io/dep/docs/Gopkg.toml.html#required
Other 3rd-party tools (e.g. virtualgo, retool, ...) need to introduce new management mechanisms "tools.go" method can use existing dependency management mechanisms (e.g. dep, go mod)
// tools.go // +build tools package tools import ( _ "golang.org/x/tools/cmd/stringer" ) // go.mod module example.com/hello require golang.org/x/tools v0.0.0-20180813205110-a434f64ace81 // indirect go get export GOBIN=$(pwd)/bin go install golang.org/x/tools/cmd/stringer We want to also automate this step!
mechanism to manage tool deps. - `gex` is very thin wrapper command of `dep` or `go mod` - For example, if `go mod` was to support to manage tools officially, we would be able to move from `gex` easily Only 2 commands that you use: `--add` and `--build` (I believe) tools management mechanism will be introduced into `golang/go` officially - When the time coms, we graduate from`gex`