What's Changed
- Fix distribution tarballs to include directory rules. (#520)
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.7.0...1.7.1
New features
- Implement
directory
rules by @matts1 in #510 - Add
is_normalized
andstarts_with
to paths module by @comius in #514
New Contributors
- @matts1 made their first contribution in #510
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.6.1...1.7.0
What's Changed
- Fix
modules
Bazel 6 compatibility by @phst in #499
New Contributors
- @phst made their first contribution in #499
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.6.0...1.6.1
What's Changed
- Add helper functions for module extensions as
modules
by @fmeum in #457 - Make
out
onnative_binary
optional by @tpudlik in #474 - Remove outdated rules_cc dependency @cpsauer in #476
- Add toolchains argument to unittests.make by @jylinv0 in #483
- Allow
bzl_library
to depend on non-bzl_library
targets by @Wyverald in #495
New Contributors
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.5.0...1.6.0
What's Changed
- Expose int- and string-valued build settings as Make variables by @fmeum in #440
- Modify actions in order not to need
toolchain
param by @kotlaja in #455 - versions: Don't fail on Bazel dev builds by @fmeum in #463
- Add error for empty
bzl_library
by @keith in #457 - Add
doc
param tounittest.make
by @UebelAndre in #464
New Contributors
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.4.2...1.5.0
Bugfix release: fixes build_test
to respect target_compatible_with
(#448)
New Features
bzl_library
allows.scl
files (new Starlark dialect loadable by Bazel at HEAD with--experimental_enable_scl_dialect
)
Contributors Alexandre Rostovtsev, UebelAndre, Vertexwahn, Xavier Bonaventura
Bugfix release: fixes gazelle plugin failure with
--incompatible_disallow_empty_glob
(#431) and (for released versions) with
--incompatible_disable_starlark_host_transitions
(#433).
Contributors Alexandre Rostovtsev, Chuck Grindel
New Features
- The Gazelle plugin is marked stable for general use (#400, #424)
Other Notable Changes
- copy_file/copy_directory again allow sandboxing (#392)
Contributors Alexandre Rostovtsev, Nick Gooding, Simon Stewart, Xùdōng Yáng
New Features
- Added
dicts.omit
anddicts.pick
(#304) - Added
expand_template
rule (#330) - Added
subpackages
module (#348) - Added
copy_directory
rule (#366) - Added
bzlmod
support (#385)
Incompatible Changes
native_binary
andnative_test
now use symlinks instead of copying, if the OS supports it (#340)native_binary
andnative_test
now build in target configuration instead of host configuration (#341)copy_file
no longer adds non-executables todefault_runfiles
(#326)
Contributors
Alex Eagle, Alexandre Rostovtsev, Barry McNamara, Derek Cormier, Fabian Meumertzheim, Geoffrey Martin-Noble, hchsiao, Kevin Kres, nickgooding, Vertexwahn, Vinh Tran
Bugfix release: fixes build failure with --incompatible_disallow_empty_glob (#359)
Contributors
Alexandre Rostovtsev, Ivo List
Release 1.2.0
New Features
- The unittest toolchain has better support for special characters in failure messages (#320)
- Use portable Bash shebangs for BSD compatibility (#329)
- Add loadingtest - tests which evaluate during the loading phase (#347)
- Add doc parameter to analysistest.make, allowing analysis tests to be documented in a Stardoc-friendly way (#343, #352)
Contributors
Alexandre Rostovtsev, Geoffrey Martin-Noble, Kevin Kress, Samuel Freilich, UebelAndre, Yesudeep Mangalapilly
New Features
- Gazelle: support relative imports (#271) and imports from
@bazel_tools
(#273) - Add partial.is_instance() (#276)
- Allow unittest.suite() to accept partial calls of test rules (#276)
- Allow specifying additional aspects to target under test in analysistest.make() (#299)
- Add Windows support for build_test (#302)
Incompatible Changes
- structs.to_dict() ignores deprecated to_json()/to_proto() methods (#295)
Contributors
aiuto, alandonovan, Alex Eagle, Alexandre Rostovtsev, Andrew Z Allen, c-parsons, Christopher Sauer, Daniel Wagner-Hall, David Sanderson, dmaclach, Laurent Le Brun, Mansur, Olek Wojnar, Philipp Wollermann, River, Samuel Giddins, Thaler Benedek
Significant Changes
- Move Gazelle extension to //gazelle/bzl and change package name
- Stop depending on rules_pkg through the federation. (#259)
- copy_file: Add parameter to allow symlinks (#252)
- Create Gazelle language for Starlark (#251)
- Create a helper rule (
select_file
) for selecting a file from outputs of another rule (#233)
Incompatible Changes
- Remove links to maprules (#213)
- Remove old_sets.bzl (#231) It has been deprecated for a while, the code is not really compatible with Bazel depset-related changes.
Contributors Andrew Z Allen, Bocete, Bor Kae Hwang, irengrig, Jay Conrod, Jonathan B Coe, Marc Plano-Lesay, Robbert van Ginkel, Thomas Van Lenten, Yannic
Incompatible Changes
- @bazel_skylib//:lib.bzl is removed. You now must specify specific modules via @bazel_skylib//lib:.bzl.
- maprule.bzl is removed.
New Features
- Added types.is_set() to test whether an arbitrary object is a set as defined by sets.bzl.
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/HEAD/designs/2018-11-09-config-setting-chaining.md.
-
Make sets.bzl point to new_sets.bzl instead of old_sets.bzl. new_sets.bzl and old_sets.bzl should be removed in the following skylib release.
-
run_binary: runs an executable as an action
- This rule is an alternative for genrule(): it can run 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()
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
-
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'. This utility is available on all Windows versions I tried (Windows 2008 Server, Windows 2016 Datacenter Core).
-
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