This uses gazelle to generate and update bazel rules for golang packages without
adding new BUILD.bazel
files to the repository.
See options for installing bazel.
# Install bazel
brew install bazel # See https://docs.bazel.build/versions/master/install.html
# Create a bazel WORKSPACE file in your repo root
echo >WORKSPACE <<END
git_repository(
name = "fejta_autogo",
remote = "https://github.com/fejta/test-infra.git",
commit = "f478925cc6179f1abf6245698aaf514d873cfcc9",
)
load("@fejta_autogo//autogo:deps.bzl", "autogo_dependencies")
autogo_dependencies()
load("@fejta_autogo//autogo:def.bzl", "autogo_generate")
autogo_generate(
name = "autogo",
prefix = "github.com/golang/dep", # change to your go get path
)
END
# Create an empty BUILD.bazel file (needed by bazel)
touch BUILD.bazel
# Use bazel with an @autogo prefix to access the auto-generated repo
bazel query @autogo//...
bazel run @autogo//path/to/my/cmd/binary
Add bazel support to dep:
git clone https://github.com/fejta/dep # golang/dep + a WORKSPACE file
cd dep && ls WORKSPACE
bazel run @autogo//cmd/dep -- help
See the concrete WORKSPACE
that enables this.