The go get
command is useful. But we want to fix the problem where package versions are different from the latest update.
Are you going to do go get -tags=1.1 ...
, go get -tag=0.3
for each of them? We want to freeze package version.
Ruby's bundle is awesome.
go get github.com/mattn/gom
gom 'github.com/mattn/go-runewidth', :tag => 'go1'
gom 'github.com/mattn/go-scan', :commit => 'ecb144fb1f2848a24ebfdadf8e64380406d87206'
gom 'github.com/daviddengcn/go-colortext'
Create vendor directory and bundle packages into it
gom install
Build on current directory with vendor packages
gom build
Run tests on current directory with vendor packages
gom test
Generate .travis.yml that uses gom test
gom gen-travis-yml
Writing Gomfile and bundle
$ ls
main.go
$ cat > Gomfile
gom 'github.com/mattn/go-runewidth', :tag => 'go1'
gom 'github.com/daviddengcn/go-colortext'
^D
$ gom install
installing github.com/mattn/go-runewidth
installing github.com/daviddengcn/go-colortext
$ find vendor/src -maxdepth 2
vendor/src
vendor/src/github.com
vendor/src/github.com/daviddengcn
vendor/src/github.com/mattn
$ gom build
If you want to bundle specified branch or commit
gom 'github.com/mattn/go-runewidth', :branch => 'branch_name'
gom 'github.com/mattn/go-runewidth', :commit => 'commit_name'
- Documentation
Yasuhiro Matsumoto [email protected]