Skip to content

0.4.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@jayconrod jayconrod released this 12 Apr 14:27
· 1800 commits to master since this release

Features

  • Upgraded to Go 1.8.1 and provided backward compatibility for tests in 1.7.5.
  • Support for build constraints (build tags and filename suffixes) in go_library, cgo_library, go_test, and go_binary. You can now add all your sources to your rules, and they will be filtered during compilation.
    • Note: Gazelle also filters sources with build constraints. This behavior will be removed when #339 is fixed.
  • go_repositories now supports custom Go versions. Versions can be specified with a simple version string (e.g., "1.8.0") or by declaring a separate Bazel repository and providing that through the go_linux or go_darwin attributes.
  • go_repository now supports vcs and importpath attributes. This enables repositories with different URLs and import paths.
  • gc_goopts and gc_linkopts attributes can be used to pass additional options to the compiler and linker.
  • protoc and protoc_gen_go can now be overridden in go_proto_library. Also added an ignore_go_package attribute.
  • Gazelle now adds a data dependency on testdata directories.

Bug fixes

  • Fixed repositories rules that depended on the real names of repositories. This broke when one of our dependencies (github.com/bazelbuild/buildifier) was renamed to buildtools. A quick fix was backported to 0.4.2 and 0.3.4.
  • Fixed -mode diff in Gazelle. It now produces a regular textual diff.
  • Gazelle no longer attempts to rename files with -mode fix or -mode print.
  • Gazelle can now find # gazelle:ignore comments that aren't at the top of a file.
  • Bash scripts generated by rules are now executed as commands instead of executable files. This is required on Windows.
  • Fixed an infinite recursion issue on Windows.
  • data files are now propagated transitively across dependencies.