| # Copyright 2019 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. | |
| load("//python:packaging.bzl", "py_wheel") | |
| load("//python:py_library.bzl", "py_library") | |
| load("//python/private:bzlmod_enabled.bzl", "BZLMOD_ENABLED") | |
| load("//python/private:distribution_filegroup.bzl", "distribution_filegroup") | |
| package(default_visibility = ["//:__subpackages__"]) | |
| distribution_filegroup( | |
| name = "distribution", | |
| ) | |
| filegroup( | |
| name = "py_typed", | |
| # See PEP 561: py.typed is a special file that indicates the code supports type checking | |
| srcs = ["py.typed"], | |
| ) | |
| py_library( | |
| name = "runfiles", | |
| srcs = [ | |
| "__init__.py", | |
| "runfiles.py", | |
| ], | |
| data = [":py_typed"], | |
| imports = [ | |
| # Add the repo root so `import python.runfiles.runfiles` works. This makes it agnostic | |
| # to the --experimental_python_import_all_repositories setting. | |
| "../..", | |
| ], | |
| pyi_srcs = [":py_typed"], | |
| visibility = ["//visibility:public"], | |
| ) | |
| # This can be manually tested by running tests/runfiles/runfiles_wheel_integration_test.sh | |
| # We ought to have an automated integration test for it, too. | |
| # see https://github.com/bazel-contrib/rules_python/issues/1002 | |
| py_wheel( | |
| name = "wheel", | |
| # From https://pypi.org/classifiers/ | |
| classifiers = [ | |
| "Development Status :: 5 - Production/Stable", | |
| "License :: OSI Approved :: Apache Software License", | |
| ], | |
| description_file = "README.md", | |
| dist_folder = "dist", | |
| distribution = "bazel_runfiles", | |
| homepage = "https://github.com/bazel-contrib/rules_python", | |
| python_requires = ">=3.7", | |
| strip_path_prefixes = ["python"], | |
| twine = None if BZLMOD_ENABLED else "@rules_python_publish_deps_twine//:pkg", | |
| # this can be replaced by building with --stamp --embed_label=1.2.3 | |
| version = "{BUILD_EMBED_LABEL}", | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":py_typed", | |
| ":runfiles", | |
| ], | |
| ) |