v2.0.1
🎉 Welcome to the first major release of bazel-lib since 1.0, which was released in June 2022.
We've carefully followed semver to this point, which means we couldn't make any breaking changes for the last 16 months.
To keep the project healthy, we have to occasionally clean up old code, so this release has the accumulated breaking changes.
BREAKING CHANGES
We no longer officially support Bazel 5. We encourage users to upgrade to Bazel 6.
We no longer provide a workaround for Bazel 5 users to get a @local_config_platform
repository.
If you need this, you must upgrade to Bazel 6.
JavaScript developers must upgrade to rules_js v1.34.0 and rules_ts v2.1.0.
Toolchains:
- Toolchains are no longer automatically registered for WORKSPACE users. Users must call the
aspect_bazel_lib_register_toolchains
macro or call theregister_[xyz]_toolchain
macros individually. See snippets in the release notes below. - The
host
repository has been moved from the extensionext
into a differed module extension named host.
jq:
We now run jq version 1.7, which includes a Linux arm64 binary.
- jq stamp variables are now of the form
$stamp[0].MY_VARIABLE
rather than$stamp.MY_VARIABLE
.
Starlark APIs:
- The
exclude_prefixes
attribute is removed fromcopy_to_directory
andcopy_to_directory_bin_action
. Users should useexclude_srcs_patterns
with glob patterns instead. - The
to_workspace_path
helper function is removed frompaths
. Usepaths.to_repository_relative_path
instead. - The
to_manifest_path
helper function is removed from paths. Usepaths.to_rlocation_path
instead. output_dir
is removed fromexpand_variables
. Pass output directory/tree artifacts toouts
instead.output_dir
is removed fromrun_binary
. Useout_dirs
instead.- The
copy_file_action
helper now uses the coreutils toolchain to perform a copy. - The
copy_directory_action
helper is removed. Usecopy_directory_bin_action
instead. - The
copy_to_directory_action
helper has been removed. Usecopy_to_directory_bin_action
action instead. - The load for
expand_template
has moved from@aspect_bazel_lib//lib:expand_make_vars.bzl
to@aspect_bazel_lib//lib:expand_template.bzl
.
New Features
- We have a hermetic
tar
rule. Read more: https://github.com/aspect-build/bazel-lib/blob/main/docs/tar.md
Using Bzlmod with Bazel 6:
- Enable with
common --enable_bzlmod
in.bazelrc
. - Add to your
MODULE.bazel
file:
bazel_dep(name = "aspect_bazel_lib", version = "2.0.1")
Read more about bzlmod: https://blog.aspect.dev/bzlmod
Using WORKSPACE
Paste this snippet into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_bazel_lib",
sha256 = "4b32cf6feab38b887941db022020eea5a49b848e11e3d6d4d18433594951717a",
strip_prefix = "bazel-lib-2.0.1",
url = "https://github.com/aspect-build/bazel-lib/releases/download/v2.0.1/bazel-lib-v2.0.1.tar.gz",
)
load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "aspect_bazel_lib_register_toolchains")
# Required bazel-lib dependencies
aspect_bazel_lib_dependencies()
# Register bazel-lib toolchains
aspect_bazel_lib_register_toolchains()
What's Changed
- fix: exclude bazeliskrc from smoke test by @kormide in #654
- fix(ci): fix bzlmod issues and enable on ci by @kormide in #658
- fix: fix a bug where toolchain repositories were potentially duplicated by @kormide in #662
- feat: expose toolchains used for copy actions by @kormide in #661
- fix: remove need for rules_go when depending on a bzl_library target (#663) by @kormide in #664
Full Changelog: v2.0.0...v2.0.1