- Feb 18, 2025
-
-
Bot authored
# [1.2.0](https://git.gitlab.arm.com/bazel/toolchain_utils/compare/v1.1.0...v1.2.0) (2025-02-18) ### Features * add `cygwin` C library constraint ([fea66a1a](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/fea66a1ad5f6ce28f41e1c8d1338dc3658dbb0ac)) * export `TOOLCHAIN_{COU,TRI}PLETS` ([2a2baae8](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/2a2baae88ca5b98ef255f89e58eb8020cb202832))
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
- Feb 17, 2025
-
-
Bot authored
# [1.1.0](https://git.gitlab.arm.com/bazel/toolchain_utils/compare/v1.0.2...v1.1.0) (2025-02-17) ### Bug Fixes * make `//toolchain/platform` couplets public ([7a53fdc8](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/7a53fdc8dacd042706c21a828d61d1ce8710e823)) ### Features * add `//toolchain/constaint` couplets ([4d3aa977](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/4d3aa9778cca519716f8cd55d5b91c477bb30ebe)) * add `ToolchainCoupletInfo` ([e92a95ac](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/e92a95ac88d1b3e089f1b2bf0144d3ecb4f92de9)) * add more common triplets ([c62af229](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/c62af229b67cb4f33803af95aeba966e4733d9bb))
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
For non-libc couplets.
-
Matthew Clarkson authored
Not specific to triplets.
-
- Feb 06, 2025
-
-
Bot authored
## [1.0.2](https://git.gitlab.arm.com/bazel/toolchain_utils/compare/v1.0.1...v1.0.2) (2025-02-06) ### Bug Fixes * allow four-part `uname -r` versions ([555a6740](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/555a67407e3639c71356950f2d2151860ba2fb4f)) * **toolchain_test:** use `$@` rather than `${@}` ([c4020797](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/c4020797351cd3f968c286e834b6a9720a579511))
-
Matthew Clarkson authored
-
-
`rules_python` expects `install_name_tool` to be available on the system. This is not the case when MacOS does not have developer tools installed. `rules_python` attempts to perform the following: ``` /usr/bin/install_name_tool -id @rpath/libpython3.11.dylib lib/libpython3.11.dylib ``` We should do either: - Upstream support for hermetic `install_name_tool` - Switch the runfiles test to `rules_go` The latter is likely the best choice.
-
`${@}` syntax is not supported on Bash 3.2 which is the default on MacOS.
-
-
-
- Feb 05, 2025
-
-
Matthew Clarkson authored
On WSL2, the kernel version is reported as a four-part version such as `5.15.167.4-microsoft-standard-WSL2`. The extra part is the increment number that Microsoft put onto of the upstream kernel headers. We drop the extra patch part to stay consistent. This likely needs a follow-up series of patches to validate the detection under WSL.
-
- Jan 22, 2025
-
-
Matthew Clarkson authored
-
- Jan 21, 2025
-
-
Bot authored
## [1.0.1](https://git.gitlab.arm.com/bazel/toolchain_utils/compare/v1.0.0...v1.0.1) (2025-01-21) ### Bug Fixes * license propagation ([0c438030](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/0c4380302e0025c503b3f03a39cab2228dce8c85))
-
Matthew Clarkson authored
-
Tomer Shterenberg authored
-
- Jan 17, 2025
-
-
Bot authored
# 1.0.0 (2025-01-17) ### Bug Fixes * add missing stub file ([fdcc9c01](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/fdcc9c013c99bf6c0fb8c29270f4412f83400a83)) * add support for `--incompatible_use_plus_in_repo_names` ([fc7d4858](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/fc7d485887292676b5a87eb51c40f92aa6343b6b)) * be graceful when `uname` is not found ([6f4242c1](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/6f4242c19284b424ffd4079c0a02ed6a2bdef103)) * better `uname` processing ([65ff62a2](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/65ff62a27f8d3fdbc2d8165402031248dbbdfaf1)) * bump minimum Bazel version to `7.1.0` ([66d1a24d](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/66d1a24dc741f55dc90df61da9a358ea10e3dc92)) * bump to `7.1.0+` due to `rctx.getenv` ([3228e100](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/3228e1007aa69e9e6d41dc8cea0f57e3246b2501)) * correct `{{basename}}` in `which` ([892c6233](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/892c6233cce27d1ff2a6b950d3ddca1e34b807ff)) * correct executable permissions of repository files ([7e3b5863](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/7e3b58635c7c375269e1643195f0a829ec59dcf1)) * correct MacOS constraint ([4259c2de](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/4259c2deb70d7c4aa4ac40f274a460e9be35675b)) * create hardlinks on Windows ([374f38dd](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/374f38ddb93b74c48ea00f222c2c871cf7821539)) * create hardlinks on Windows ([fb7691df](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/fb7691df6a7948dd19cddceca2a169480ed40913)) * detect `musl` ([3abcf22c](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/3abcf22ca864679d329cf9a75d329c2be8c17b7e)) * detect both `WORKSPACE` and `REPO.bazel` in repositories ([f1e46c3f](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/f1e46c3f142c0665f90119996f0ebb8048dfb0c7)) * **e2e:** add `amd64-macos-darwin` fixture ([6d650a95](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/6d650a95fee3b0fb65ecc210c38fac28971506fc)) * **export.symlink:** support multiple identical exports ([07a9c2c8](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/07a9c2c832997967deaed6a8257789a03bf3450b)) * **export:** mark extension as reproducible ([8d61b2e0](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/8d61b2e0a76c64393fc5c43428c653f1f4fa5e5b)) * fail fast when not three Linux version parts ([e298c3e5](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/e298c3e5e0674809bd62def624aaf0104089468e)) * find POSIX shell with `/usr/bin/env` ([2294100e](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/2294100e1efa4dee95bf61542cca3730bc618aa2)) * forward basename through `toolchain_info` ([2b1924ca](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/2b1924ca698827e6ed7b8eba84be7027a8922e9d)) * **info:** correct variable name ([4001e7d4](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/4001e7d4fae977f98827df024ad9b4a9d8695fac)) * **info:** default variable to binary basename ([f2a8725a](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/f2a8725acf98020af7f536a016048c98ecfcda26)) * **info:** make var matches info ([f82eb108](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/f82eb1082dc5858231ab937d4cec4698678e5f6e)) * **info:** remove `ToolchainInfo#env` ([06e20617](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/06e206176cac5836a774c78dfebb3cadceb55b9c)) * **info:** remove `variables` from `ToolchainInfo` ([21edd348](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/21edd3486770c124d51d3107b3095e2923f3bee1)) * **libc/gnu:** add `2.{39,40}` versions ([d6221c91](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/d6221c917e3f48594bbfcf3cdcc579b99651145a)) * **local:** correct failure message ([2c40116c](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/2c40116c2c037e4c7b961a5a6c0c5aa6d842cffd)) * **local:** grab first part of `uname -r` ([e040928d](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/e040928dc9ba3ba87e6feedbe3850d751a0896a2)) * **local:** parse msys2 `uname` output ([bca66bb8](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/bca66bb8cf8b96b374d149a04301c16d06f8c1af)) * **local:** provide `/etc/os-release` defaults ([177738d7](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/177738d71b8b50b0c13a02c494f6cf04d93bd316)) * make sure symlinks have `.exe` extension on Windows ([85f15d1b](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/85f15d1b590237374c59c8037eca3ea56777c8ee)) * need to foward on `.cmd` not `.com` ([49d7c9fd](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/49d7c9fd03763b135cf2e19db16ddfe30e00c8a5)) * pin Bazel version ([585e5f41](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/585e5f4168736c050687be6e59c359ab3a50f8ae)) * **release:** add `metadata.json` to the release ([d8557b55](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/d8557b55d92bdba0adb4724278842868daa09430)) * **release:** correct source archive upload ([05f5f208](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/05f5f208f15461ad28bcc3699ce9a8d6c838121a)) * **release:** tidy up `metadata.json` naming in GitLab UI ([d5029b95](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/d5029b95ddd3cda4556bad52f2b985df0abdc23b)) * remove `ToolchainInfo#inherited` ([7608c42b](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/7608c42b57f6c2b7b9db4b61aed54a3fc27557d7)) * **resolved:** correctly forward on providers ([dc423f6b](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/dc423f6bf4b593ecd4f648815dae3ef0e9c0a308)) * **resolved:** default to the correct `basename` ([3e2fc92e](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/3e2fc92eb112f1925a21e74cc179a2e3abbe2743)) * **resolved:** forward on `basename` attribute ([e71e807b](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/e71e807b6ded13a3baf2d430900f675a1f8849fd)) * **resolved:** forward on `RunEnvironmentInfo` ([a41e8878](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/a41e8878edfb0b9e71d3c504111a956bfd6ddc14)) * **resolved:** propagate `.bat`/`.com` extensions ([b0a41761](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/b0a4176194fcf379e4ab4a8ac9f213f34bc9771c)) * **rules_toolchain:** add `amd64`/`arm64` aliases ([332bb9b8](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/332bb9b839176d7ad211f7e2f499b80716d37500)) * **rules_toolchain:** add `no-remote` to local binary symlinks ([254a3d5d](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/254a3d5d9c78772ffc681f7e5ea099e754bbb3b9)) * **rules_toolchain:** add `x86_64`/`aarch64` CPU targets ([bed57561](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/bed5756126fa64764d80a61cb78afada41d09de0)) * **rules_toolchain:** add locally detect OS version to constraints ([a1eae556](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/a1eae55624fb1b2253a3c254943dddb3a98ddc3b)) * **rules_toolchain:** all multiple files to `symlink` ([843f6cc7](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/843f6cc729a213a6d367f54bd11d9d8f87daf842)) * **rules_toolchain:** correct GNU libc check ([1689f920](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/1689f9201b70e6f9a22bebb879d67175421d51a3)) * **rules_toolchain:** do a better job of processing `/etc/release` ([561463ab](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/561463ab90b43341d4f0b66145a3816d64231c41)) * **rules_toolchain:** local binary not found error ([eb0dcd8b](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/eb0dcd8b3ea19c7a414486a6a1e00935ebee6a32)) * **rules_toolchain:** only expose unversioned triplets ([6f607646](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/6f6076467613bba30c3bdefe92a7450d266c60c4)) * **rules_toolchain:** respect `target` attribute ([b5773053](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/b577305399516eaf21d341cf7e687a25ef20ed68)) * **rules_toolchain:** simplify Bazel run commands ([cb5ae502](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/cb5ae5022da29042416443699c82a65d3fdfd955)) * **rules_toolchain:** support no legacy runfiles ([fdc609e4](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/fdc609e4aeda92fadf8c1154b0f012556cdfb133)) * **select:** add `map` to the error string ([727be3b7](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/727be3b7570aebda46b78560cd98cbaa74368b99)) * set minimum version to Bazel 7 ([0db2cc79](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/0db2cc79ca316ef76fb02c33baf35810479dbc59)) * strip output of `uname -r` ([4de60581](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/4de60581787b6ae1a8694d673080042ac8cc7bac)) * **sw_vers:** support single and double Darwin OS versions ([bb887b98](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/bb887b98b601be790b3a1cc95486de9ed30f9a83)) * switch to `REPO.bazel` from `WORKSPACE` ([0fbf9c6f](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/0fbf9c6fd718736a6dc9c590b6657c5c0e693e7f)) * **symlink_target:** propagate `.bat`/`.com` extensions ([78a62657](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/78a62657e5dc911a75418afb28243e0d29f3db93)) * **symlink_target:** use `ctx.executable` ([fdf8d732](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/fdf8d732de0a1137172d0cbd311277834760dbe8)) * **symlink/target:** accept extensions without period `.` ([ab12aa8c](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/ab12aa8c9d22d80d949b3c8e213a5a4b4cc9e121)) * **symlink/target:** add `files_to_run` property on `ToolchainInfo` provider ([2966744e](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/2966744e1328bef9143dbb5c9c1d32fc756e0219)) * **symlink/target:** add `run` property on `ToolchainInfo` provider ([0f18fef6](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/0f18fef6742b133d2da0d0c920bc0fda30e14214)) * **symlink/target:** add target to runfiles ([4ec23317](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/4ec23317cba14be99c3eec807e9b3873fc5636b0)) * **symlink/target:** forward on target runfiles ([8b64cee2](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/8b64cee2c9b323bc94def46806f81f7de00b88f3)) * **symlink/target:** merge all data runfiles ([753b43a4](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/753b43a44ff14e768dd98f9fd9234d4f30eb3d0d)) * **test:** add executable to runfiles ([57e26219](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/57e2621953afaa8762609527b24eb89ae7788c1b)) * **test:** correct TAP output for diff comparison ([e965777b](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/e965777bb2c9854d1e022b45ddc4d3f35596855b)) * **test:** correctly output `stderr` from toolchain executable on error ([22cd1081](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/22cd108126e8917d7142d7f447fdc61f69ea2521)) * **test:** forward on runfiles ([e832606d](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/e832606d803aeb654a876ff53ba56a7b35df952a)) * **test:** simplify POSIX variable substitution ([82a4ecaa](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/82a4ecaa71dbd06c98f24ef5fb4dc40ad58a40a6)) * **toolchain_local_select:** use `label_keyed_string_dict` for `map` attribute ([1d48d2e4](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/1d48d2e43ff1cbe1d2746aa7c7b7b86363fad2a0)) * **toolchain/test:** break `diff` loop correctly ([d57cc719](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/d57cc71913ae936d26ed4a385ad3eb24bde6e8d9)) * upload release files to generic package registry ([d5deccfa](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/d5deccfa9dc35482c23b7376fb368f8037d51845)) * use `[@bazel](https://git.gitlab.arm.com/bazel)_skylib` to split path extensions ([e5feff7c](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/e5feff7cedb6aaa168ffdf912c0efc6b794c6f6c)) * **windows:** add `.exe` extension to symlinks when necessary ([6587ffdb](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/6587ffdb79990b9f186612ae9fd9bff14b97c520)) ### Features * add `{net,free,open}bsd` operating system aliases ([a8058893](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/a8058893f1d95afe23c9f0d64cb3b81e69fec4dd)) * add `//toolchain/constraint/{cpu,os,libc}:local` aliases ([e67679b1](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/e67679b18e22c0837f69c213d6b43618c713f454)) * add `//toolchain/constraint/libc:ucrt` ([4deb57e8](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/4deb57e881ad3fd4e43b49bc5a6724ad0db68ffd)) * add `//toolchain/constraint/local:{cpu,os,libc}` aliases ([a384e649](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/a384e6491bbad9975e4cf9ce5e16758e8e6b7c01)) * add `//toolchain/constraint/os:windows` ([064ecafc](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/064ecafcc9b0a1ed3afc3c62c459f0b541438b27)) * add `//toolchain/local/constraint:{cpu,os,libc}` targets ([cf24d760](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/cf24d7609f95b765698181a24a370fc4b5c160ac)) * add `export` extension ([35bae073](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/35bae07323b7ac4a9ddeab60909d9c411970fab2)) * add `msvc` C library constraint ([f638f1fa](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/f638f1fa59df687302443216857d6353a48e9f64)) * add `toolchain_info` rule ([11ea2416](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/11ea241647f87759bebd2c5ce7a7b0bdba55953a)) * add a `resolved` target to local binary repositories ([7ad98062](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/7ad98062778c17c7b143a2a366b18361ba950d09)) * add a plain string value to local triplet repository ([e41e05ff](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/e41e05ffec1208b535ccfdcb4d70bc5d4c9311af)) * add couplet platforms ([27ba292a](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/27ba292a92948f25e8b429d25b463f47727c8597)) * add launcher ([96823abd](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/96823abd1096cb17d81b554072916450f6944fa7)) * add MacOS triplet detection ([fbc8e8ea](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/fbc8e8ea6dc7c422cd33bbb4106c923cab3e7bd0)) * add simple Windows OS detection ([a090eabe](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/a090eabe2dae4e52eb611c610c617437a31a46f0)) * add Universal C runtime detection ([cd8b097b](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/cd8b097bd731403b3502214fffefb15089a975be)) * add Windows version detection ([b2d0c537](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/b2d0c53752ca2488a7ae9c70697591098bdb06b3)) * **info:** add `variable` to `ToolchainInfo` ([f51317b8](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/f51317b81fe3ffd2a30b214891ed45313b06ec1a)) * **info:** forward on `RunEnvironmentInfo` through `ToolchainInfo` ([08baa79e](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/08baa79e8464d31cfaaa24ad199cde0a819f1d64)) * **local_which:** make local binaries non-mandatory ([5d9a292c](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/5d9a292cfd4a7f9dd5b952ca33c34b01da0fc796)) * **local/triplet:** override detection with `BAZEL_TOOLCHAIN_UTILS_LOCAL_TRIPLET` ([d0c72342](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/d0c72342657a67939d95371d725e2c79191a1942)) * **local/which:** support Windows ([1398d386](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/1398d3869c59f6500def3894c4065ef2d9a0d9a1)) * make `which` mandatory ([274d2c96](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/274d2c96991ea897a76055527561e5346402792a)) * **rules_toolchain:** add `:entrypoint` target to local repositories ([a995bd47](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/a995bd4702de985b14cd99ce1f896f1833342b29)) * **rules_toolchain:** add `DataInfo.executable` ([6cc16f24](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/6cc16f24832cd3b1948929d52fb738d76be90f2c)) * **rules_toolchain:** add `echo` toolchain end-to-end test ([9309dd1a](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/9309dd1acd992fe6be15faaef180a43febcc94c0)) * **rules_toolchain:** add `host` platform and constraint ([9f8ae2c7](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/9f8ae2c728914d7d8adbed93c75338e962ffdd2f)) * **rules_toolchain:** add `local.select` extension ([97b4386f](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/97b4386fdbc416ba7b2b701ac6a56f1ed9abf187)) * **rules_toolchain:** add `toolchain_symlink_path` rule ([f03782a0](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/f03782a088727dba597915d65aa83ed8830eb87b)) * **rules_toolchain:** add `toolchain_symlink_target` rule ([f8987a49](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/f8987a4989363331142df10bce7b6269456da14f)) * **rules_toolchain:** add `toolchain_test` rule ([550b3b1f](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/550b3b1fc183bed745366320ba26632ecb055f9f)) * **rules_toolchain:** add `uname` release detection ([23260b3b](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/23260b3baa8d6e157390e6656dea2309454017cd)) * **rules_toolchain:** add customising the basename for symlink rules ([9ad523df](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/9ad523dfe0e31f0c5bdf17163741befca139e519)) * **rules_toolchain:** add extension for finding local binaries ([2ed07d3b](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/2ed07d3b5ec30b7fceac760c6249d6a9f35bc15d)) * **rules_toolchain:** add host triplet detection ([0e2e2116](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/0e2e211668df6fc8af0ccb0fe1e6bf4ac25566c4)) * **rules_toolchain:** add local toolchain information rule ([d6b279dc](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/d6b279dc9aeb5522746d944b3ee59ae6ae3f067d)) * **rules_toolchain:** add triplet constraints ([52205111](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/522051114a772fb7a878e5f6df44446c944dcba6)) * **rules_toolchain:** add triplet platforms ([14aba1de](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/14aba1de9d9c97ab71b49c2a832960ed64640d7e)) * **rules_toolchain:** add triplet targets and information ([61871330](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/6187133091be4f6f6fc5b24444d380033ba244eb)) * **rules_toolchain:** expose `glibc` `VERSIONS` collection ([5db2957e](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/5db2957e727342dfc00e000c34310b1a08a1f088)) * **rules_toolchain:** generate LTS version variants ([6deceb46](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/6deceb4619a4a0fd04565d2403ac60297eeae931)) * **rules_toolchain:** generate versioned triplets ([63c94365](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/63c943658fdce7fbb7a151374c60bdb615261da2)) * **rules_toolchain:** test anything protocol for testing ([191ce97e](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/191ce97e2c613e849f803dc1c7ff958f0ff9f021)) * **select:** add more selection options ([22e5104a](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/22e5104a50b8fcfdffed77a2c8af82bdb79c512f)) * support detecting triplet on MinGW ([ff280ae0](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/ff280ae0b1aed1bfca9b667b07ddbb657e98cfc6)) * switch to `rules_license` ([5036f0f9](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/5036f0f9e600d4c28845253030158cf5560df9c7)) * **test:** add Batch script for Windows ([ea1a75db](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/ea1a75db5b906e31646d0e41adad7b8ad8a63381)) * **test:** allow custom exit codes ([d0fc4991](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/d0fc4991421a494975cc47a2857e3d78a6d356a1)) * **toolchain_triplet:** add Windows support ([32e2220d](https://git.gitlab.arm.com/bazel/toolchain_utils/commit/32e2220df6254455713d331f9cbd4509fb9d9bc8)) ### BREAKING CHANGES * **info:** `toolchain_info#variable` now defaults to the basename of the target executable. Previously the variable defaulted to the `name` attribute: ```py go_binary( name = "abc, ) toolchain_info( name = "def", target = ":abc", # variable = "DEF", ) ``` Now the rule defaults the basename of the target executable: ```py go_binary( name = "abc, ) toolchain_info( name = "def", target = ":abc", # variable = "ABC", ) ``` In most situations, this is the prefered default. In cases where the name is the variable name wanted, the `variable` now needs to be added: ```py go_binary( name = "abc, ) toolchain_info( name = "def", target = ":abc", variable = "ABC", ) ``` * **info:** `toolchain_info` removes `ToochainInfo#env`. Allowing access to the original `env` attribute of the `toolchain_info` target can result in unexpected errors. `env` is usual subject to Make variable and expand location expansion. The expansion is done in the scope of the original rule. Re-using the environment results in errors with miscalculated paths, etc. If it is required to capture the environment variables for a binary, it is much better to use a rule that bakes the environment variables into the execution of the binary. This can be done with launcher scripts that write out the environment variables for later use. * **info:** `variables` is no longer available on the `ToolchainInfo` generated by `toolchain_info`. The `TemplateVariableInfo` is created in the scope of the `toolchain_info` rule. Using the provider in downstream rules that access the `ToolchainInfo` will no longer be relevant. A `ToolchainInfo#variable` attribute is provided to reconstruct a `TemplateVariableInfo` in the scope of a downstream rule. * **resolved:** The `resolved` repository rule has removed the `basename` attribute in favour or symlinking the binary directly. This change prevents unwanted symlink basename changes which can prevent multi-tool binaries from functioning correctly. To set the basename of a symlink use the `toolchain_symlink_target` rule. * **toolchain_local_select:** `toolchain_local_select#map` is now flipped taking the labels as they keys rather than as the values. Previous releases had the following setup: ```py download_file( name = "abc-arm64-linux-gnu", output = "abc", ) download_file( name = "abc-arm64-linux-musl", output = "abc", ) toolchain_local_select( name = "abc", map = { "arm64-linux-gnu": "@abc-arm64-linux-gnu", "arm64-linux-musl": "@abc-arm64-linux-musl", }, ) ``` This prevented eagarly overfetching all the repositories that would be selected. As of Bazel 7.4.0+[1], it no longer overfetches so the `map` attribute has been switched to a `label_keyed_string_dict`: ```py toolchain_local_select( name = "abc", map = { "@abc-arm64-linux-gnu": "arm64-linux-gnu", "@abc-arm64-linux-musl": "arm64-linux-musl", }, ) ``` The repository rule will _only_ fetch the repostory label that has been selected due to the triplet value matching. Whilst this is a breaking change, it will introduce a regression on Bazel 7.3 and below which will overfetch the repositories. It is *highly* recommended to use Bazel 7.4 and above. [1]: https://github.com/bazelbuild/bazel/commit/6fabb1fc6869a204373e5ee0adde696a659415dd * `ToolchainInfo#inherited` removed It is not possible to use these in an action as the host environment variables cannot be read host environment variables. * The `toolchain_symlink_target` no longer exports `ToolchainInfo`/`TemplateVariableInfo`. The `toolchain_info` can provide those providers. The `toolchain_symlink_target` is purely for creating a symlink to a previous target. This still enables changing the basename for multi-call binaries. To gain the old functionality, if `basename` attribute is not being used, `toolchain_symlink_target` can be switched directly for `toolchain_info`. If `basename` is being used, an extra `toolchain_info` rule will need to be created to wrap the `toolchain_symlink_target` rule. * **symlink/target:** the `files_to_run` property has been removed from the `ToolchainInfo` provider. Use `info.default.files_to_run` instead. A new `info.run` has been added that is `info.default.files_to_run` or `info.default.executable`. This is a convenience property that can be passed to `ctx.actions.run#execute`. * **symlink/target:** `toolchain_symlink_path` no longer provides `ToolchainInfo`/`TemplateVariableInfo`. It is required to use `toolchain_symlink_target` to the `toolchain_symlink_path`. This is due to `toolchain_symlink_target` needing to export the `DefaultInfo.file_to_run` from the symlinked target. That is not possible with a filesystem path. This should not affect most users as `toolchain_symlink_path` is mainly used in `toolchain_local_which`. If `toolchain_symlink_path` is being used, then to gain the previous functionality, create a `toolchain_symlink_target` to the `toolchain_symlink_path` label.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
`toolchain_symlink_*` targets no longer export `ToolchainInfo`.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
Removes `reuse` support in favour of `rules_license` to generate software bill of materials (SBOM).
-
Matthew Clarkson authored
-
Matthew Clarkson authored
There are unnecessary list comprehensions in the constraints that have been flattened to raw aliases. The default visibility has been removed in favour of explicitly setting the visibility on each rule. This prevents accidental exporting of constraints that are expected to be internal.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
- Jan 16, 2025
-
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-