Changes
- Experimental editor / IDE integration added in the form of a
gopackagesdriver tool that reports information about the Bazel workspace
to gopls (or any other tool based ongolang.org/x/tools/go/packages
).
See the Editor setup
on the wiki for information and setup instructions. Huge thanks to @steeve
for shipping this. - Target platform may be automatically inferred from
--crosstool_top
and
--cpu
for iOS and Android platforms that still require these flags.
Again, thanks to @steeve. go_proto_library
no longer implicitly depends on APIv1 Well Known Type
packages. Since protoc 3.14, the Well Known Types declare APIv2 package paths,
which means generated code that imports them will import APIv2 packages,
so the APIv1 dependencies are unnecessary.
Compatibility
- Bazel 4.0.0 (LTS) or higher is now required. The previous minimum version
was 3.5.0.
Updated dependencies
As always, you can use higher versions of rules_go's dependencies by declaring
them in WORKSPACE before calling go_rules_dependencies
. Lower versions may
work but are not supported.
org_golang_x_tools
updated tov0.1.4
org_golang_x_sys
updated tomaster
as of 2021-06-30.rules_cc
updated tomain
as of 2021-06-30.org_golang_google_protobuf
updated tov1.27.1
.org_github_golang_protobuf
updated tov1.5.2
.org_golang_google_genproto
updated tomaster
as of 2021-06-30.go_googleapis
updated tomaster
as of 2021-06-30.
WORKSPACE
code
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "io_bazel_rules_go",
sha256 = "8e968b5fcea1d2d64071872b12737bbb5514524ee5f0a4f54f5920266c261acb",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.28.0/rules_go-v0.28.0.zip",
"https://github.com/bazelbuild/rules_go/releases/download/v0.28.0/rules_go-v0.28.0.zip",
],
)
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
go_rules_dependencies()
go_register_toolchains(version = "1.16.5")