commit | 11fcff82296c1945c1105c94fc173fe76ffa72d9 | [log] [tgz] |
---|---|---|
author | Filippo Valsorda <filippo@cloudflare.com> | Sat Sep 05 03:09:23 2015 +0100 |
committer | Filippo Valsorda <filippo@cloudflare.com> | Sat Sep 05 03:09:23 2015 +0100 |
tree | 4f186c28088e4cc2cbe89206adc5a556690a0080 | |
parent | 0e26464828f3bca5799a51bf4d3e3b56f31d1bc0 [diff] |
Make gddo happy
gvt
is a simple Go vendoring tool made for the GO15VENDOREXPERIMENT.
It's based entirely on gb-vendor.
You run gvt fetch
when you would run go get
. gvt
downloads packages to ./vendor/...
. With GO15VENDOREXPERIMENT=1
set the compiler will find and use those dependencies without import path rewriting. gvt
works recursively as you would expect, and lets you update vendored dependencies. It also writes a manifest to ./vendor/manifest
.
Packages whose dependencies are vendored with gvt
are go build
-able and go get
-able by Go 1.5 with GO15VENDOREXPERIMENT=1
set.
go get -u github.com/FiloSottile/gvt
$ gvt fetch github.com/fatih/color 2015/09/05 02:38:06 fetching recursive dependency github.com/mattn/go-isatty 2015/09/05 02:38:07 fetching recursive dependency github.com/shiena/ansicolor $ tree -d . └── vendor └── github.com ├── fatih │ └── color ├── mattn │ └── go-isatty └── shiena └── ansicolor └── ansicolor 9 directories $ cat > main.go package main import "github.com/fatih/color" func main() { color.Red("Hello, world!") } $ export GO15VENDOREXPERIMENT=1 $ go build . $ ./hello Hello, world! $ gvt update github.com/fatih/color
There are many Go vendoring tools, but they all have some subset of the following problems
go get