An example project demonstrating bazel build rules for go with a local binary (go_binary) and a local library (go_library).
This requires bazel release > bazel-0.20.
$ git clone https://github.com/laramiel/bazel-example-golang.git
$ cd bazel-example-golang
$ git submodule init
$ git submodule foreach git pull origin master
$ bazel run :hello
$ bazel run :remote
$ bazel run :bare
$ git submodule update --init --recursive
$ bazel run //submodule:bare
$ bazel run //submodule:remote
$ bazel run //with_vendor:remote
$ bazel run //with_vendor:bare
This repository works in conjunction with other git repositories to provide a demonstration of Bazel BUILD rules for golang.
- 
bazel-example-golang 
 The main repository, demonstrating binary, local, and remote repository usage.
- 
bazel-example-golang-remote 
 An example remote repository which includes Bazel rules.
- 
bazel-example-golang-bare An example remote repository without any Bazel rules. 
Each of the remote repositories is linked into go_binary() targets in several
ways:
- 
Using the WORKSPACE file to define git_repository()rules. This accounts for the:remoteand:baretargets.
- 
Using git submodules to import the repository source, and using those paths. This accounts for the //submodule:bareand//submodule:remotetargets.
- 
Using the VENDOR extension introduced in go1.6.