# Copyright 2017 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.

"""This package contains two sets of rules:

    1) the "core" Python rules, which were historically bundled with Bazel and
       are now either re-exported or copied into this repository; and

    2) the packaging rules, which were historically simply known as
       rules_python.

In an ideal renaming, we'd move the packaging rules to a different package so
that @rules_python//python is only concerned with the core rules.
"""

# TODO: make current_py_toolchain.bzl private
# gazelle:resolve starlark @rules_python//python:current_py_toolchain.bzl //python:current_py_toolchain_bzl
# gazelle:resolve starlark //python:current_py_toolchain.bzl //python:current_py_toolchain_bzl

load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("//python/private:distribution_filegroup.bzl", "distribution_filegroup")
load(":current_py_toolchain.bzl", "current_py_toolchain")

package(default_visibility = ["//visibility:public"])

licenses(["notice"])

distribution_filegroup(
    name = "distribution",
)

# ========= bzl_library targets end =========

# NOTE: Remember to add bzl_library targets to //tests:bzl_libraries
# ========= bzl_library targets end =========

# Filegroup of bzl files that can be used by downstream rules for documentation generation
filegroup(
    name = "bzl",
    srcs = [
        "defs.bzl",
        "packaging.bzl",
        "pip.bzl",
        "repositories.bzl",
        "versions.bzl",
        "//python/pip_install:bzl",
        "//python/private:bzl",
    ],
    visibility = ["//visibility:public"],
)

# ========= Core rules =========

exports_files([
    "defs.bzl",
    "python.bzl",  # Deprecated, please use defs.bzl
])

# This target can be used to inspect the current Python major version. To use,
# put it in the `flag_values` attribute of a `config_setting` and test it
# against the values "PY2" or "PY3". It will always match one or the other.
#
# If you do not need to test any other flags in combination with the Python
# version, then as a convenience you may use the predefined `config_setting`s
# `@rules_python//python:PY2` and `@rules_python//python:PY3`.
#
# Example usage:
#
#     config_setting(
#         name = "py3_on_arm",
#         values = {"cpu": "arm"},
#         flag_values = {"@rules_python//python:python_version": "PY3"},
#     )
#
#     my_target(
#         ...
#         some_attr = select({
#             ":py3_on_arm": ...,
#             ...
#         }),
#         ...
#     )
#
# Caution: Do not `select()` on the built-in command-line flags `--force_python`
# or `--python_version`, as they do not always reflect the true Python version
# of the current target. `select()`-ing on them can lead to action conflicts and
# will be disallowed.
alias(
    name = "python_version",
    actual = "@bazel_tools//tools/python:python_version",
)

alias(
    name = "PY2",
    actual = "@bazel_tools//tools/python:PY2",
)

alias(
    name = "PY3",
    actual = "@bazel_tools//tools/python:PY3",
)

# The toolchain type for Python rules. Provides a Python 2 and/or Python 3
# runtime.
alias(
    name = "toolchain_type",
    actual = "@bazel_tools//tools/python:toolchain_type",
)

toolchain_type(
    name = "exec_tools_toolchain_type",
    visibility = ["//visibility:public"],
)

# Special target to indicate `None` for label attributes a default value.
alias(
    name = "none",
    actual = "//python/private:sentinel",
)

# Definitions for a Python toolchain that, at execution time, attempts to detect
# a platform runtime having the appropriate major Python version. Consider this
# a toolchain of last resort.
#
# The non-strict version allows using a Python 2 interpreter for PY3 targets,
# and vice versa. The only reason to use this is if you're working around
# spurious failures due to PY2 vs PY3 validation. Even then, using this is only
# safe if you know for a fact that your build is completely compatible with the
# version of the `python` command installed on the target platform.

alias(
    name = "autodetecting_toolchain",
    actual = "//python/runtime_env_toolchains:runtime_env_toolchain",
    deprecation = "Use //python/runtime_env_toolchains:all instead",
)

alias(
    name = "autodetecting_toolchain_nonstrict",
    actual = "//python/runtime_env_toolchains:runtime_env_toolchain",
    deprecation = "Use //python/runtime_env_toolchains:all instead",
)

# ========= Packaging rules =========

exports_files([
    "packaging.bzl",
    "pip.bzl",
])

current_py_toolchain(
    name = "current_py_toolchain",
)

# Keep this target because it is a public API and Gazelle might otherwise
# remove it if it is not loaded by other bzl_library targets.
# keep
bzl_library(
    name = "current_py_toolchain_bzl",
    srcs = ["current_py_toolchain.bzl"],
    visibility = ["//visibility:public"],
)

bzl_library(
    name = "defs",
    srcs = ["defs.bzl"],
    deps = [
        ":py_binary",
        ":py_import",
        ":py_info",
        ":py_library",
        ":py_runtime",
        ":py_runtime_info",
        ":py_runtime_pair",
        ":py_test",
        "//python:current_py_toolchain_bzl",
    ],
)

alias(
    name = "defs_bzl",
    actual = ":defs",
    deprecation = "Use //python:defs instead",
)

alias(
    name = "features_bzl",
    actual = ":features",
    deprecation = "Use //python:features instead",
)

bzl_library(
    name = "packaging",
    srcs = ["packaging.bzl"],
    deps = [
        ":py_binary",
        "//python/private:bzlmod_enabled",
        "//python/private:py_package",
        "//python/private:py_wheel",
        "//python/private:util",
        "@bazel_skylib//rules:native_binary",
    ],
)

alias(
    name = "packaging_bzl",
    actual = ":packaging",
    deprecation = "Use //python:packaging instead",
)

bzl_library(
    name = "pip",
    srcs = ["pip.bzl"],
    deps = [
        "//python/private:normalize_name",
        "//python/private/pypi:multi_pip_parse",
        "//python/private/pypi:package_annotation",
        "//python/private/pypi:pip_compile",
        "//python/private/pypi:pip_repository",
        "//python/private/pypi:whl_library_alias",
        "//python/private/whl_filegroup",
    ],
)

alias(
    name = "pip_bzl",
    actual = ":pip",
    deprecation = "Use //python:pip instead",
)

bzl_library(
    name = "proto",
    srcs = ["proto.bzl"],
    deps = ["@com_google_protobuf//bazel:py_proto_library_bzl"],
)

alias(
    name = "proto_bzl",
    actual = ":proto",
    deprecation = "Use //python:proto instead",
)

bzl_library(
    name = "py_binary",
    srcs = ["py_binary.bzl"],
    deps = ["//python/private:py_binary_macro"],
)

alias(
    name = "py_binary_bzl",
    actual = ":py_binary",
    deprecation = "Use //python:py_binary instead",
)

bzl_library(
    name = "py_cc_link_params_info",
    srcs = ["py_cc_link_params_info.bzl"],
    deps = ["//python/private:py_cc_link_params_info"],
)

alias(
    name = "py_cc_link_params_info_bzl",
    actual = ":py_cc_link_params_info",
    deprecation = "Use //python:py_cc_link_params_info instead",
)

bzl_library(
    name = "py_exec_tools_info",
    srcs = ["py_exec_tools_info.bzl"],
    deps = ["//python/private:py_exec_tools_info"],
)

alias(
    name = "py_exec_tools_info_bzl",
    actual = ":py_exec_tools_info",
    deprecation = "Use //python:py_exec_tools_info instead",
)

bzl_library(
    name = "py_exec_tools_toolchain",
    srcs = ["py_exec_tools_toolchain.bzl"],
    deps = ["//python/private:py_exec_tools_toolchain"],
)

alias(
    name = "py_exec_tools_toolchain_bzl",
    actual = ":py_exec_tools_toolchain",
    deprecation = "Use //python:py_exec_tools_toolchain instead",
)

bzl_library(
    name = "py_executable_info",
    srcs = ["py_executable_info.bzl"],
    deps = ["//python/private:py_executable_info"],
)

alias(
    name = "py_executable_info_bzl",
    actual = ":py_executable_info",
    deprecation = "Use //python:py_executable_info instead",
)

bzl_library(
    name = "py_import",
    srcs = ["py_import.bzl"],
    deps = [":py_info"],
)

alias(
    name = "py_import_bzl",
    actual = ":py_import",
    deprecation = "Use //python:py_import instead",
)

bzl_library(
    name = "py_info",
    srcs = ["py_info.bzl"],
    deps = ["//python/private:py_info"],
)

alias(
    name = "py_info_bzl",
    actual = ":py_info",
    deprecation = "Use //python:py_info instead",
)

bzl_library(
    name = "py_library",
    srcs = ["py_library.bzl"],
    deps = ["//python/private:py_library_macro"],
)

alias(
    name = "py_library_bzl",
    actual = ":py_library",
    deprecation = "Use //python:py_library instead",
)

bzl_library(
    name = "py_runtime",
    srcs = ["py_runtime.bzl"],
    deps = ["//python/private:py_runtime_macro"],
)

alias(
    name = "py_runtime_bzl",
    actual = ":py_runtime",
    deprecation = "Use //python:py_runtime instead",
)

bzl_library(
    name = "py_runtime_info",
    srcs = ["py_runtime_info.bzl"],
    deps = ["//python/private:py_runtime_info"],
)

alias(
    name = "py_runtime_info_bzl",
    actual = ":py_runtime_info",
    deprecation = "Use //python:py_runtime_info instead",
)

bzl_library(
    name = "py_runtime_pair",
    srcs = ["py_runtime_pair.bzl"],
    deps = ["//python/private:py_runtime_pair_macro"],
)

alias(
    name = "py_runtime_pair_bzl",
    actual = ":py_runtime_pair",
    deprecation = "Use //python:py_runtime_pair instead",
)

# keep
bzl_library(
    name = "py_test",
    srcs = ["py_test.bzl"],
    deps = ["//python/private:py_test_macro"],
)

alias(
    name = "py_test_bzl",
    actual = ":py_test",
    deprecation = "Use //python:py_test instead",
)

alias(
    name = "python_bzl",
    actual = ":python",
    deprecation = "Use //python:python instead",
)

bzl_library(
    name = "repositories",
    srcs = ["repositories.bzl"],
    deps = [
        "//python/private:is_standalone_interpreter",
        "//python/private:py_repositories",
        "//python/private:python_register_multi_toolchains",
        "//python/private:python_register_toolchains",
        "//python/private:python_repository",
    ],
)

alias(
    name = "repositories_bzl",
    actual = ":repositories",
    deprecation = "Use //python:repositories instead",
)

bzl_library(
    name = "versions",
    srcs = ["versions.bzl"],
    deps = [
        "//python/private:pbs_manifest",
        "//python/private:platform_info",
        "//python/private:runtimes_manifest_workspace",
    ],
)

alias(
    name = "versions_bzl",
    actual = ":versions",
    deprecation = "Use //python:versions instead",
)

bzl_library(
    name = "features",
    srcs = ["features.bzl"],
)

bzl_library(
    name = "python",
    srcs = ["python.bzl"],
)
