Skip to content

0.9.0

Compare
Choose a tag to compare
@aiuto aiuto released this 12 Jul 19:27
2b38b2f

Incompatible Changes

  • Make sets.bzl point to new_sets.bzl instead of old_sets.bzl new_sets.bzl and
    old_sets.bzl should be removed in a following skylib release.

New Features

  • common_settings.bzl: Standard data types for user defined build
    configuration. Common scalar build settings for rules to use so they don't
    recreate them locally. This fulfills part of the SBC design doc:
    https://docs.google.com/document/d/1vc8v-kXjvgZOdQdnxPTaV0rrLxtP2XwnD2tAZlYJOqw/edit#bookmark=id.iiumwic0jphr

  • selects.bzl: Add config_setting_group for config_setting AND/OR-chaining
    Implements
    https://github.com/bazelbuild/proposals/blob/master/designs/2018-11-09-config-setting-chaining.md.

  • run_binary: runs an executable as an action

    • This rule is an alternative for genrule(): it canrun a binary with the
      desired arguments, environment, inputs, and outputs, as a single build
      action, without shelling out to Bash.
    • Fixes #149
  • New native_binary() and native_test() rules let you wrap a pre-built
    binary in a binary and test rule respectively.

    • native_binary() wraps a pre-built binary or script in a *_binary rule
      interface. Rules like genrule can tool-depend on it, and it can be
      executed with "bazel run". This rule can also augment the binary with
      runfiles.
    • native_test() is similar, but creates a testable rule instead of a
      binary rule.
    • Fixes #148
  • diff_test: test rule compares two files and passes if the files match.

  • maprule: move functionality to maprule_util.bzl.
    maprule_util.bzl will benefit planned new rules (namely a genrule alternative).

This release is tested with Bazel 0.28

WORKSPACE setup

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

maybe(
    http_archive,
    name = "bazel_skylib",
    url = "https://github.com/bazelbuild/bazel-skylib/releases/download/0.9.0/bazel_skylib-0.9.0.tar.gz",
    sha256 = "1dde365491125a3db70731e25658dfdd3bc5dbdfd11b840b3e987ecf043c7ca0",
)

load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
bazel_skylib_workspace()