commit | 13ede51f7c43164ac5c3c36ea072ed6616c6f582 | [log] [tgz] |
---|---|---|
author | bazel.build machine account <ci.bazel@gmail.com> | Tue Jun 17 21:14:14 2025 +0200 |
committer | GitHub <noreply@github.com> | Tue Jun 17 19:14:14 2025 +0000 |
tree | 78b1575dfe3c26abd1fb8c6bfc7b6a7cf52e9676 | |
parent | 9dc30b7d0480e12a8cfe3e74d95cd4b411930216 [diff] |
[8.3.0] feat: add support for `.whl` file extension in `repository_ctx.download_and_extract` (#26323) The `download_and_extract` function supported various archive formats, but did not recognize `.whl` as a valid file extension for archive extraction. Since wheel files are ZIP archives with a `.whl` extension (per PEP 427), this commit adds support for them by treating `.whl` files the same as other ZIP-based formats. This enables using Python wheel files directly with rules_multitool and other tools without requiring workarounds, particularly useful for air-gapped environments with private PyPI repositories. Changes: - Add .whl to ZIP decompressor condition in DecompressorValue.java - Update error message to include .whl in supported extensions list - Update API documentation to include .whl as supported archive type - Add test case for .whl file extension handling Fixes #26307 RELNOTES[NEW]: `repository_ctx.download_and_extract` now supports the `.whl` file extension for Python wheel files, treating them as ZIP archives under PEP 427. Closes #26308. PiperOrigin-RevId: 772552704 Change-Id: Id21218bb7f13096e0e493745a18325a2575445ed Commit https://github.com/bazelbuild/bazel/commit/d9634ca1c143136ef3b02b5ad8876a62368762b5 Co-authored-by: Alberto Cavalcante <alberto.cavalcante@jpmorgan.com>
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
To report a security issue, please email security@bazel.build with a description of the issue, the steps you took to create the issue, affected versions, and, if known, mitigations for the issue. Our vulnerability management team will respond within 3 working days of your email. If the issue is confirmed as a vulnerability, we will open a Security Advisory. This project follows a 90 day disclosure timeline.
See CONTRIBUTING.md