Go rules
- Support for transitive link stamping. You can now set
x_defs
attributes ingo_library
rules. Any binary rules that depend on those libraries (directly or transitively) will apply those definitions at link time. See Defines and Stamping for more information. - Refactored rules and toolchain internals. This doesn't affect normal usage of Go rules, but if you maintain Bazel rules that depend on Go providers and toolchains, see documentation in go/toolchains.rst, especially on
GoContext
andgo_context
. - The
library
attribute is now deprecated. Please migrate toembed
instead.gazelle fix
will do this for you automatically. - Several fixes for cgo, Windows, and ppc64.
- Fixed a bug in the code used to check the minimum Bazel version.
Proto rules
- Support for gogo proto. See
GOGO_VARIANTS
in proto/BUILD.bazel for available compiler plugins. See gogo/BUILD.bazel for an example. - Proto files no longer need to set
option go_package
, and the protopackage
doesn't need to match theimportpath
explicitly set ingo_proto_library
.
Gazelle
Reminder: the old Gazelle tree at go/tools/gazelle is deprecated and will be removed soon (#1199). The new location is github.com/bazelbuild/bazel-gazelle. Please update any tooling you have that builds Gazelle at master.
WORKSPACE code
To use this release, add this code to your WORKSPACE file:
http_archive(
name = "io_bazel_rules_go",
url = "https://github.com/bazelbuild/rules_go/releases/download/0.9.0/rules_go-0.9.0.tar.gz",
sha256 = "4d8d6244320dd751590f9100cf39fd7a4b75cd901e1f3ffdfd6f048328883695",
)
load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains")
go_rules_dependencies()
go_register_toolchains()
Direct download: rules_go-0.9.0.tar.gz