| # Copyright 2023 The Bazel Authors. All rights reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| """The transition module contains the rule definitions to wrap py_binary and py_test and transition |
| them to the desired target platform. |
| |
| :::{versionchanged} 1.1.0 |
| The `py_binary` and `py_test` symbols are aliases to the regular rules. Usages |
| of them should be changed to load the regular rules directly. |
| ::: |
| """ |
| |
| load("//python:py_binary.bzl", _py_binary = "py_binary") |
| load("//python:py_test.bzl", _py_test = "py_test") |
| load("//python/private:deprecation.bzl", "with_deprecation") |
| load("//python/private:text_util.bzl", "render") |
| |
| def _with_deprecation(kwargs, *, name, python_version): |
| kwargs["python_version"] = python_version |
| return with_deprecation.symbol( |
| kwargs, |
| symbol_name = name, |
| old_load = "@rules_python//python/config_settings:transition.bzl", |
| new_load = "@rules_python//python:{}.bzl".format(name), |
| snippet = render.call(name, **{k: repr(v) for k, v in kwargs.items()}), |
| ) |
| |
| def py_binary(**kwargs): |
| """[DEPRECATED] Deprecated alias for py_binary. |
| |
| Args: |
| **kwargs: keyword args forwarded onto {obj}`py_binary`. |
| """ |
| |
| _py_binary(**_with_deprecation(kwargs, name = "py_binary", python_version = kwargs.get("python_version"))) |
| |
| def py_test(**kwargs): |
| """[DEPRECATED] Deprecated alias for py_test. |
| |
| Args: |
| **kwargs: keyword args forwarded onto {obj}`py_binary`. |
| """ |
| _py_test(**_with_deprecation(kwargs, name = "py_test", python_version = kwargs.get("python_version"))) |