0.9.0
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
- This rule is an alternative for genrule(): it canrun a binary with the
-
New
native_binary()
andnative_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
- native_binary() wraps a pre-built binary or script in a *_binary rule
-
diff_test: test rule compares two files and passes if the files match.
- On Linux/macOS/non-Windows, the test compares files using 'diff'.
- On Windows, the test compares files using 'fc.exe'.
- See bazelbuild/bazel#5508, bazelbuild/bazel#4319
-
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()