| # 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"))) |