commit | 63114a330bffcdecd69a97c0ebefea47c8b49621 | [log] [tgz] |
---|---|---|
author | Richard Levasseur <rlevasseur@google.com> | Sun Sep 15 10:34:41 2024 -0700 |
committer | GitHub <noreply@github.com> | Sun Sep 15 17:34:41 2024 +0000 |
tree | 456289a238f971401e4a0d992a264d5b572623ea | |
parent | b3862ec2446dc9c21e1ff5a25f86105d7718975a [diff] |
refactor: move hermetic Python runtime setup into macro (#2221) This stems from conversation in #2216. Moving the logic into a loading-phase macro makes it easier to understand how a repo with a python-build-standalone extracted archive has its toolchain defined. This also makes it easier to compare with the local runtime repo setup to try and find commonality in the future. Along the way: * Remove some Bazel 5 compatibility code: coverage_tool is now always passed to py_runtime. (Bazel 5 support was dropped earlier this year and we stopped testing with it; it's likely already broken with Bazel 5). * Add `semver.to_dict`, which makes it easier to pass into format() functions.
This repository is the home of the core Python rules -- py_library
, py_binary
, py_test
, py_proto_library
, and related symbols that provide the basis for Python support in Bazel. It also contains package installation rules for integrating with PyPI and other indices.
Documentation for rules_python is at https://rules-python.readthedocs.io and in the Bazel Build Encyclopedia.
Examples live in the examples directory.
The core rules are stable. Their implementation is subject to Bazel's backward compatibility policy. This repository aims to follow semantic versioning.
The Bazel community maintains this repository. Neither Google nor the Bazel team provides support for the code. However, this repository is part of the test suite used to vet new Bazel releases. See How to contribute page for information on our development workflow.
For detailed documentation, see https://rules-python.readthedocs.io
See Bzlmod support for more details.