github bazel-contrib/rules_go v0.32.0

latest releases: v0.51.0-rc1, v0.50.1, v0.50.0...
2 years ago

This release brings many exciting changes

New features

  • gomock rule is officially supported in rules_go (doc), replacing the original jmhodges/bazel_gomock repository. Thanks to @jmhodges for the original implementation.
  • rules_go now generates coverage reports in LCOV format by default (#3117), to be compatible with Bazel's --combined_report=lcov. To generate reports in the old go tool cover format, please use --//go/config:cover_format=go_cover. Thanks to @fmeum @abhinav
  • supporting windows/arm64 (#3072). Thanks to @nsait-linaro
  • nogo config can now takes analyzer_flags (#3082), thanks to @NavneethJayendran

Bug fixes

  • Consider volatile and stable status files separately (#3079) Thanks to @siddharthab
  • Reducing duplicate information passed by go_pkg_info_aspect (#3111)
  • Fix include paths for CGo deps in external repositories (#3115) thanks to @fmeum
  • Revert change to use resolved shared lib links (#2907), thanks to @glukasiknuro
  • Fix lost x_defs on test execution (#3135), thanks to @bozaro
  • Let go_binary's executable bit depend on linkmode (#3143) thanks to @fmeum

Deprecations

go_embed_data and bindata will be deprecated in rules_go 0.35.0. Users are encourage to migrate to go:embed and embedsrcs.

Other changes

  • Use output dir for empty packages to be hermetic (#3098), thanks to @joeljeske
  • Prevent downgrading platforms (#3076), thanks to @cpsauer
  • Doc improvements (#3100), thanks to @sluongng
  • Remove legacy proto code for Bazel < 0.21 (#3099), thanks to @cpsauer
  • Remove unused coverage code (#3118), thanks to @fmeum
  • Moving tests for go_embed_data and gomock to tests/extras (#3122)
  • Add command line copts/cxxopts to Cgo compile flags (#3126), thanks to @dchen496
  • Reset Go settings for protoc dependencies (#3005), thanks to @fmeum
  • Trim transitioned Go settings on non-Go dependencies (#3108), thanks to @fmeum

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_google_protobuf updated to v1.28.0
  • org_golang_x_sys, org_golang_x_xerrors, org_golang_google_genproto and go_googleapis updated to master, as of 2022-05-09

WORKSPACE code

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "io_bazel_rules_go",
    sha256 = "ab21448cef298740765f33a7f5acee0607203e4ea321219f2a4c85a6e0fb0a27",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.32.0/rules_go-v0.32.0.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.32.0/rules_go-v0.32.0.zip",
    ],
)

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

go_rules_dependencies()

go_register_toolchains(version = "1.18.2")

Don't miss a new rules_go release

NewReleases is sending notifications on new releases.