mvukov / rules_ros2

Build ROS 2 with Bazel
Apache License 2.0
80 stars 45 forks source link

Update dependency rules_python to v0.27.0 #216

Closed renovate[bot] closed 9 months ago

renovate[bot] commented 9 months ago

Mend Renovate logo banner

This PR contains the following updates:

Package Type Update Change
rules_python http_archive minor 0.26.0 -> 0.27.0

Release Notes

bazelbuild/rules_python (rules_python) ### [`v0.27.0`](https://togithub.com/bazelbuild/rules_python/blob/HEAD/CHANGELOG.md#0270---2023-11-16) [Compare Source](https://togithub.com/bazelbuild/rules_python/compare/0.26.0...0.27.0) [0.27.0]: https://togithub.com/bazelbuild/rules_python/releases/tag/0.27.0 ##### Changed - Make `//python/pip_install:pip_repository_bzl` `bzl_library` target internal as all of the publicly available symbols (etc. `package_annotation`) are re-exported via `//python:pip_bzl` `bzl_library`. - (gazelle) Gazelle Python extension no longer has runtime dependencies. Using `GAZELLE_PYTHON_RUNTIME_DEPS` from `@rules_python_gazelle_plugin//:def.bzl` is no longer necessary. - (pip_parse) The installation of `pip_parse` repository rule toolchain dependencies is now done as part of `py_repositories` call. - (pip_parse) The generated `requirements.bzl` file now has an additional symbol `all_whl_requirements_by_package` which provides a map from the normalized PyPI package name to the target that provides the built wheel file. Use `pip_utils.normalize_name` function from `@rules_python//python:pip.bzl` to convert a PyPI package name to a key in the `all_whl_requirements_by_package` map. - (pip_parse) The flag `incompatible_generate_aliases` has been flipped to `True` by default on `non-bzlmod` setups allowing users to use the same label strings during the transition period. For example, instead of `@pypi_foo//:pkg`, you can now use `@pypi//foo` or `@pypi//foo:pkg`. Other labels that are present in the `foo` package are `dist_info`, `whl` and `data`. Note, that the `@pypi_foo//:pkg` labels are still present for backwards compatibility. - (gazelle) The flag `use_pip_repository_aliases` is now set to `True` by default, which will cause `gazelle` to change third-party dependency labels from `@pip_foo//:pkg` to `@pip//foo` by default. - The `compile_pip_requirements` now defaults to `pyproject.toml` if the `src` or `requirements_in` attributes are unspecified, matching the upstream `pip-compile` behaviour more closely. - (gazelle) Use relative paths if possible for dependencies added through the use of the `resolve` directive. - (gazelle) When using `python_generation_mode file`, one `py_test` target is made per test file even if a target named `__test__` or a file named `__test__.py` exists in the same package. Previously in these cases there would only be one test target made. Breaking changes: - (pip) `pip_install` repository rule in this release has been disabled and will fail by default. The API symbol is going to be removed in the next version, please migrate to `pip_parse` as a replacement. The `pip_parse` rule no longer supports `requirements` attribute, please use `requirements_lock` instead. - (py_wheel) switch `incompatible_normalize_name` and `incompatible_normalize_version` to `True` by default to enforce `PEP440` for wheel names built by `rules_python`. - (tools/wheelmaker.py) drop support for Python 2 as only Python 3 is tested. ##### Fixed - Skip aliases for unloaded toolchains. Some Python versions that don't have full platform support, and referencing their undefined repositories can break operations like `bazel query rdeps(...)`. - Python code generated from `proto_library` with `strip_import_prefix` can be imported now. - (py_wheel) Produce deterministic wheel files and make `RECORD` file entries follow the order of files written to the `.whl` archive. - (gazelle) Generate a single `py_test` target when `gazelle:python_generation_mode project` is used. - (gazelle) Move waiting for the Python interpreter process to exit to the shutdown hook to make the usage of the `exec.Command` more idiomatic. - (toolchains) Keep tcl subdirectory in Windows build of hermetic interpreter. - (bzlmod) sub-modules now don't have the `//conditions:default` clause in the hub repos created by `pip.parse`. This should fix confusing error messages in case there is a misconfiguration of toolchains or a bug in `rules_python`. ##### Added - (bzlmod) Added `.whl` patching support via `patches` and `patch_strip` arguments to the new `pip.override` tag class. - (pip) Support for using [PEP621](https://peps.python.org/pep-0621/) compliant `pyproject.toml` for creating a resolved `requirements.txt` file. - (utils) Added a `pip_utils` struct with a `normalize_name` function to allow users to find out how `rules_python` would normalize a PyPI distribution name. [0.27.0]: https://togithub.com/bazelbuild/rules_python/releases/tag/0.27.0

Configuration

📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.