# Copyright 2021 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("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
load("//python:py_binary.bzl", "py_binary")
load("//python:py_library.bzl", "py_library")
load(":bazel_config_mode.bzl", "bazel_config_mode")
load(":py_exec_tools_toolchain.bzl", "current_interpreter_executable")
load(":py_interpreter_program.bzl", "py_interpreter_program")
load(":sentinel_impl.bzl", "sentinel")
load(":stamp_impl.bzl", "stamp_build_setting")
load(":uncachable_version_file.bzl", "define_uncachable_version_file")
load(":visibility.bzl", "NOT_ACTUALLY_PUBLIC")

package(
    default_visibility = [
        "//:__subpackages__",
    ],
)

licenses(["notice"])

exports_files([
    "runtime_env_toolchain_interpreter.sh",
    "runtimes_manifest.txt",
    "runtimes_manifest_workspace.bzl",
])

filegroup(
    name = "distribution",
    srcs = glob(["**"]) + [
        "//python/private/api:distribution",
        "//python/private/cc:distribution",
        "//python/private/pypi:distribution",
        "//python/private/whl_filegroup:distribution",
        "//python/private/zipapp:distribution",
        "//tools/build_defs/python/private:distribution",
    ],
    visibility = ["//python:__pkg__"],
)

filegroup(
    name = "coverage_deps_filegroup",
    srcs = ["coverage_deps.bzl"],
    visibility = ["//tools/private/update_deps:__pkg__"],
)

# Filegroup of bzl files that can be used by downstream rules for documentation generation
filegroup(
    name = "bzl",
    srcs = glob(["**/*.bzl"]),
    visibility = ["//python:__pkg__"],
)

alias(
    name = "build_data_writer",
    actual = select({
        "@platforms//os:windows": ":build_data_writer.ps1",
        "//conditions:default": ":build_data_writer.sh",
    }),
    # Not actually public. Only public because it's an implicit dependency of
    # rules built via py_binary_rule_builder() / py_test_rule_builder().
    visibility = ["//visibility:public"],
)

define_uncachable_version_file(
    name = "uncachable_version_file",
    # Not actually public. Only public because it's an implicit dependency of
    # rules built via py_binary_rule_builder() / py_test_rule_builder().
    visibility = ["//visibility:public"],
)

# Needed to define bzl_library targets for docgen. (We don't define the
# bzl_library target here because it'd give our users a transitive dependency
# on Skylib.)
exports_files(
    [
        "coverage.patch",
        "py_package.bzl",
        "py_wheel.bzl",
        "version.bzl",
        "reexports.bzl",
        "stamp_impl.bzl",
        "util.bzl",
    ],
    visibility = ["//:__subpackages__"],
)

exports_files(
    ["python_bootstrap_template.txt"],
    # Not actually public. Only public because it's an implicit dependency of
    # py_runtime.
    visibility = NOT_ACTUALLY_PUBLIC,
)

filegroup(
    name = "stage1_bootstrap_template",
    srcs = ["stage1_bootstrap_template.sh"],
    # Not actually public. Only public because it's an implicit dependency of
    # py_runtime.
    visibility = NOT_ACTUALLY_PUBLIC,
)

filegroup(
    name = "stage2_bootstrap_template",
    srcs = ["stage2_bootstrap_template.py"],
    # Not actually public. Only public because it's an implicit dependency of
    # py_runtime.
    visibility = NOT_ACTUALLY_PUBLIC,
)

filegroup(
    name = "site_init_template",
    srcs = ["site_init_template.py"],
    # Not actually public. Only public because it's an implicit dependency of
    # py_runtime.
    visibility = NOT_ACTUALLY_PUBLIC,
)

# NOTE: Windows builds don't use this bootstrap. Instead, a native Windows
# program locates some Python exe and runs `python.exe foo.zip` which
# runs the __main__.py in the zip file.
alias(
    name = "bootstrap_template",
    actual = select({
        ":is_script_bootstrap_enabled": "stage1_bootstrap_template.sh",
        "//conditions:default": "python_bootstrap_template.txt",
    }),
    # Not actually public. Only public because it's an implicit dependency of
    # py_runtime.
    visibility = NOT_ACTUALLY_PUBLIC,
)

# Used to determine the use of `--stamp` in Starlark rules
stamp_build_setting(name = "stamp")

config_setting(
    name = "is_script_bootstrap_enabled",
    flag_values = {
        "//python/config_settings:bootstrap_impl": "script",
    },
)

config_setting(
    name = "is_bazel_config_mode_target",
    flag_values = {
        "//python/private:bazel_config_mode": "target",
    },
)

alias(
    name = "debugger_if_target_config",
    actual = select({
        ":is_bazel_config_mode_target": "//python/config_settings:debugger",
        "//conditions:default": "//python/private:empty",
    }),
    # Not actually public. Only public because it's an implicit dependency of
    # rules built via py_binary_rule_builder() / py_test_rule_builder().
    visibility = ["//visibility:public"],
)

bazel_config_mode(name = "bazel_config_mode")

# This should only be set by analysis tests to expose additional metadata to
# aid testing, so a setting instead of a flag.
bool_flag(
    name = "visible_for_testing",
    build_setting_default = False,
    # This is only because it is an implicit dependency by the toolchains.
    visibility = NOT_ACTUALLY_PUBLIC,
)

# Used for py_console_script_gen rule
py_binary(
    name = "py_console_script_gen_py",
    srcs = ["py_console_script_gen.py"],
    main = "py_console_script_gen.py",
    visibility = [
        "//visibility:public",
    ],
)

py_binary(
    name = "py_wheel_dist",
    srcs = ["py_wheel_dist.py"],
    visibility = ["//visibility:public"],
)

py_library(
    name = "py_console_script_gen_lib",
    srcs = ["py_console_script_gen.py"],
    imports = ["../.."],
    visibility = [
        "//tests/entry_points:__pkg__",
    ],
)

# The current toolchain's interpreter as an excutable, usable with
# executable=True attributes.
current_interpreter_executable(
    name = "current_interpreter_executable",
    # Not actually public. Only public because it's an implicit dependency of
    # py_exec_tools_toolchain.
    visibility = NOT_ACTUALLY_PUBLIC,
)

py_library(
    name = "empty",
    # Not actually public. Only public because it's the resolved default of
    # debugger_if_target_config, an implicit dependency of rules built via
    # py_binary_rule_builder() / py_test_rule_builder().
    visibility = ["//visibility:public"],
)

sentinel(
    name = "sentinel",
    # Not actually public. Only public because it's the resolved default of
    # uncachable_version_file, an implicit dependency of rules built via
    # py_binary_rule_builder() / py_test_rule_builder().
    visibility = ["//visibility:public"],
)

py_binary(
    name = "sync_runtimes_manifest_workspace",
    srcs = ["tools/sync_runtimes_manifest_workspace.py"],
    visibility = ["//:__subpackages__"],
)

# Tool used by py_test's validation action to statically check that the main
# module actually runs tests. See the validate_test_main config setting.
py_interpreter_program(
    name = "py_test_main_validator",
    main = "py_test_main_validator.py",
    # Not actually public. Only public because it's an implicit dependency of
    # the py_test rule.
    visibility = NOT_ACTUALLY_PUBLIC,
)

py_library(
    name = "py_test_main_validator_lib",
    srcs = ["py_test_main_validator.py"],
    imports = ["../.."],
    visibility = [
        "//tests/validate_test_main:__pkg__",
    ],
)

bzl_library(
    name = "attr_builders",
    srcs = ["attr_builders.bzl"],
    deps = [
        ":builders_util",
        "@bazel_skylib//lib:types",
    ],
)

bzl_library(
    name = "attributes",
    srcs = ["attributes.bzl"],
    deps = [
        ":attr_builders",
        ":common_labels",
        ":enum",
        ":flags",
        ":py_info",
        ":reexports",
        ":rule_builders",
        "@bazel_skylib//lib:dicts",
        "@bazel_skylib//rules:common_settings",
        "@rules_cc//cc/common",
    ],
)

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

# @bazel_tools can't define bzl_library itself, so we just put a wrapper around it.
# Keep this target because Gazelle does not automatically generate
# bzl_library targets for external repositories like @bazel_tools.
# keep
bzl_library(
    name = "bazel_tools",
    srcs = [
        # This set of sources is overly broad, but it's the only public
        # target available across Bazel versions that has all the necessary
        # sources.
        "@bazel_tools//tools:bzl_srcs",
    ],
)

bzl_library(
    name = "builders",
    srcs = ["builders.bzl"],
    deps = ["@bazel_skylib//lib:types"],
)

bzl_library(
    name = "builders_util",
    srcs = ["builders_util.bzl"],
    deps = [
        ":bzlmod_enabled",
        "@bazel_skylib//lib:types",
    ],
)

bzl_library(
    name = "cc_helper",
    srcs = ["cc_helper.bzl"],
    deps = [":py_internal"],
)

bzl_library(
    name = "common",
    srcs = ["common.bzl"],
    deps = [
        ":builders",
        ":cc_helper",
        ":py_cc_link_params_info",
        ":py_info",
        ":py_internal",
        ":py_interpreter_program",
        ":reexports",
        ":toolchain_types",
        "@bazel_skylib//lib:paths",
        "@rules_cc//cc/common",
        "@rules_python_internal//:rules_python_config",
    ],
)

bzl_library(
    name = "config_settings",
    srcs = ["config_settings.bzl"],
    deps = [
        ":text_util",
        ":version",
        ":visibility",
        "@bazel_skylib//lib:selects",
        "@bazel_skylib//rules:common_settings",
    ],
)

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

bzl_library(
    name = "current_py_cc_headers",
    srcs = ["current_py_cc_headers.bzl"],
    deps = [
        ":toolchain_types",
        "@rules_cc//cc/common",
    ],
)

bzl_library(
    name = "current_py_cc_libs",
    srcs = ["current_py_cc_libs.bzl"],
    deps = ["@rules_cc//cc/common"],
)

bzl_library(
    name = "deprecation",
    srcs = ["deprecation.bzl"],
    deps = ["@rules_python_internal//:rules_python_config"],
)

bzl_library(
    name = "flags",
    srcs = ["flags.bzl"],
    deps = [
        ":enum",
        "@bazel_skylib//rules:common_settings",
    ],
)

bzl_library(
    name = "hermetic_runtime_repo_setup",
    srcs = ["hermetic_runtime_repo_setup.bzl"],
    deps = [
        ":py_exec_tools_toolchain",
        ":version",
        "//python:py_runtime",
        "//python:py_runtime_pair",
        "//python/cc:py_cc_toolchain",
        "@rules_cc//cc:core_rules",
    ],
)

bzl_library(
    name = "internal_config_repo",
    srcs = ["internal_config_repo.bzl"],
    deps = [
        ":repo_utils",
        ":text_util",
    ],
)

bzl_library(
    name = "interpreter",
    srcs = ["interpreter.bzl"],
    deps = [
        ":common",
        ":sentinel_impl",
        ":toolchain_types",
        "//python:py_runtime_info",
        "@bazel_skylib//lib:paths",
    ],
)

bzl_library(
    name = "is_standalone_interpreter",
    srcs = ["is_standalone_interpreter.bzl"],
    deps = [":repo_utils"],
)

bzl_library(
    name = "local_runtime_repo",
    srcs = ["local_runtime_repo.bzl"],
    deps = [
        ":enum",
        ":repo_utils",
    ],
)

bzl_library(
    name = "local_runtime_repo_setup",
    srcs = ["local_runtime_repo_setup.bzl"],
    deps = [
        "@bazel_skylib//lib:selects",
        "@rules_cc//cc:core_rules",
        "@rules_python//python:py_runtime",
        "@rules_python//python:py_runtime_pair",
        "@rules_python//python/cc:py_cc_toolchain",
        "@rules_python//python/private:py_exec_tools_toolchain",
    ],
)

bzl_library(
    name = "local_runtime_toolchains_repo",
    srcs = ["local_runtime_toolchains_repo.bzl"],
    deps = [
        ":repo_utils",
        ":text_util",
    ],
)

bzl_library(
    name = "precompile",
    srcs = ["precompile.bzl"],
    deps = [
        ":attributes",
        ":common",
        ":flags",
        ":py_interpreter_program",
        ":toolchain_types",
        "@bazel_skylib//rules:common_settings",
    ],
)

bzl_library(
    name = "py_binary_macro",
    srcs = ["py_binary_macro.bzl"],
    deps = [
        ":py_binary_rule",
        ":py_executable",
    ],
)

bzl_library(
    name = "py_binary_rule",
    srcs = ["py_binary_rule.bzl"],
    deps = [
        ":attributes",
        ":py_executable",
    ],
)

bzl_library(
    name = "py_cc_link_params_info",
    srcs = ["py_cc_link_params_info.bzl"],
    deps = ["@rules_cc//cc/common"],
)

bzl_library(
    name = "py_cc_toolchain_macro",
    srcs = ["py_cc_toolchain_macro.bzl"],
    deps = [
        ":py_cc_toolchain_rule",
        ":util",
        "//python/private/pypi:pep508_env",
    ],
)

bzl_library(
    name = "py_cc_toolchain_rule",
    srcs = ["py_cc_toolchain_rule.bzl"],
    deps = [
        ":common_labels",
        ":flags",
        ":py_cc_toolchain_info",
        ":sentinel_impl",
        "@bazel_skylib//rules:common_settings",
        "@rules_cc//cc/common",
    ],
)

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

bzl_library(
    name = "py_exec_tools_toolchain",
    srcs = ["py_exec_tools_toolchain.bzl"],
    deps = [
        ":common_labels",
        ":py_exec_tools_info",
        ":sentinel_impl",
        ":toolchain_types",
        "@bazel_skylib//lib:paths",
        "@bazel_skylib//rules:common_settings",
    ],
)

bzl_library(
    name = "py_executable",
    srcs = ["py_executable.bzl"],
    deps = [
        ":attr_builders",
        ":attributes",
        ":builders",
        ":cc_helper",
        ":common",
        ":common_labels",
        ":flags",
        ":precompile",
        ":py_cc_link_params_info",
        ":py_executable_info",
        ":py_info",
        ":py_internal",
        ":py_runtime_info",
        ":reexports",
        ":rule_builders",
        ":toolchain_types",
        ":transition_labels",
        ":venv_runfiles",
        "@bazel_skylib//lib:dicts",
        "@bazel_skylib//lib:paths",
        "@bazel_skylib//lib:structs",
        "@bazel_skylib//rules:common_settings",
        "@rules_cc//cc/common",
        "@rules_python_internal//:rules_python_config",
    ],
)

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

bzl_library(
    name = "py_internal",
    srcs = ["py_internal.bzl"],
    deps = ["//tools/build_defs/python/private:py_internal_renamed"],
)

bzl_library(
    name = "py_interpreter_program",
    srcs = ["py_interpreter_program.bzl"],
    deps = [
        ":sentinel_impl",
        "@bazel_skylib//rules:common_settings",
    ],
)

bzl_library(
    name = "py_library",
    srcs = ["py_library.bzl"],
    deps = [
        ":attr_builders",
        ":attributes",
        ":builders",
        ":common",
        ":common_labels",
        ":flags",
        ":normalize_name",
        ":precompile",
        ":py_cc_link_params_info",
        ":py_info",
        ":reexports",
        ":rule_builders",
        ":toolchain_types",
        ":venv_runfiles",
        ":version",
        "@bazel_skylib//lib:dicts",
        "@bazel_skylib//lib:paths",
        "@bazel_skylib//rules:common_settings",
    ],
)

bzl_library(
    name = "py_library_macro",
    srcs = ["py_library_macro.bzl"],
    deps = [":py_library_rule"],
)

bzl_library(
    name = "py_library_rule",
    srcs = ["py_library_rule.bzl"],
    deps = [":py_library"],
)

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

bzl_library(
    name = "py_repositories",
    srcs = ["py_repositories.bzl"],
    deps = [
        ":internal_config_repo",
        ":pythons_hub",
        "//python:versions",
        "//python/private:bazel_tools",
        "//python/private/pypi:deps",
    ],
)

bzl_library(
    name = "py_runtime_macro",
    srcs = ["py_runtime_macro.bzl"],
    deps = [":py_runtime_rule"],
)

bzl_library(
    name = "py_runtime_pair_macro",
    srcs = ["py_runtime_pair_macro.bzl"],
    deps = [":py_runtime_pair_rule"],
)

bzl_library(
    name = "py_runtime_pair_rule",
    srcs = ["py_runtime_pair_rule.bzl"],
    deps = [
        ":common_labels",
        ":reexports",
        "//python:py_runtime_info",
        "@bazel_skylib//rules:common_settings",
    ],
)

bzl_library(
    name = "py_runtime_rule",
    srcs = ["py_runtime_rule.bzl"],
    deps = [
        ":common_labels",
        ":flags",
        ":py_internal",
        ":py_runtime_info",
        ":reexports",
        ":version",
        "@bazel_skylib//lib:dicts",
        "@bazel_skylib//lib:paths",
        "@bazel_skylib//rules:common_settings",
    ],
)

bzl_library(
    name = "py_test_macro",
    srcs = ["py_test_macro.bzl"],
    deps = [
        ":py_executable",
        ":py_test_rule",
    ],
)

bzl_library(
    name = "py_test_rule",
    srcs = ["py_test_rule.bzl"],
    deps = [
        ":attributes",
        ":common",
        ":py_executable",
    ],
)

bzl_library(
    name = "py_toolchain_suite",
    srcs = ["py_toolchain_suite.bzl"],
    deps = [
        ":text_util",
        ":toolchain_types",
        "@bazel_skylib//lib:selects",
        "@platforms//host:constraints_lib",
    ],
)

bzl_library(
    name = "py_wheel",
    srcs = ["py_wheel.bzl"],
    deps = [
        ":attributes",
        ":py_info",
        ":py_package",
        ":rule_builders",
        ":stamp_impl",
        ":transition_labels",
        ":version",
    ],
)

bzl_library(
    name = "python",
    srcs = ["python.bzl"],
    deps = [
        ":auth",
        ":full_version",
        ":pbs_manifest",
        ":platform_info",
        ":pyproject_utils",
        ":python_register_toolchains",
        ":pythons_hub",
        ":repo_utils",
        ":toolchains_repo",
        ":version",
        "//python:versions",
        "@bazel_features//:features",
    ],
)

bzl_library(
    name = "python_register_multi_toolchains",
    srcs = ["python_register_multi_toolchains.bzl"],
    deps = [
        ":python_register_toolchains",
        ":toolchains_repo",
        "//python:versions",
    ],
)

bzl_library(
    name = "python_register_toolchains",
    srcs = ["python_register_toolchains.bzl"],
    deps = [
        ":coverage_deps",
        ":full_version",
        ":python_repository",
        ":toolchains_repo",
        "//python:versions",
    ],
)

bzl_library(
    name = "python_repository",
    srcs = ["python_repository.bzl"],
    deps = [
        ":auth",
        ":repo_utils",
        ":text_util",
        "//python:versions",
    ],
)

bzl_library(
    name = "pythons_hub",
    srcs = ["pythons_hub.bzl"],
    deps = [
        ":pbs_manifest",
        ":text_util",
        ":toolchains_repo",
        "//python:versions",
    ],
)

bzl_library(
    name = "reexports",
    srcs = ["reexports.bzl"],
    deps = ["@rules_python_internal//:rules_python_config"],
)

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

bzl_library(
    name = "rule_builders",
    srcs = ["rule_builders.bzl"],
    deps = [
        ":builders_util",
        "@bazel_skylib//lib:types",
    ],
)

# Keep this target because Gazelle does not automatically generate or
# maintain composite bzl_library targets. We need this to group external
# dependency sources.
# keep
bzl_library(
    name = "rules_cc_srcs",
    srcs = [
        # rules_cc 0.0.13 and earlier load cc_proto_libary (and thus protobuf@),
        # but their bzl srcs targets don't transitively refer to protobuf.
        "@com_google_protobuf//:bzl_srcs",
        # NOTE: As of rules_cc 0.10, cc:bzl_srcs no longer contains
        # everything and sub-targets must be used instead
        "@rules_cc//cc:bzl_srcs",
        "@rules_cc//cc/common",
        "@rules_cc//cc/toolchains:toolchain_rules",
    ],
    deps = [
        ":bazel_tools",
        "@rules_cc//cc/common",
    ],
)

bzl_library(
    name = "runtime_env_repo",
    srcs = ["runtime_env_repo.bzl"],
    deps = [":repo_utils"],
)

bzl_library(
    name = "runtime_env_toolchain",
    srcs = ["runtime_env_toolchain.bzl"],
    deps = [
        ":config_settings",
        ":py_exec_tools_toolchain",
        ":toolchain_types",
        "//python:py_runtime",
        "//python:py_runtime_pair",
        "//python/cc:py_cc_toolchain",
        "@rules_cc//cc:core_rules",
    ],
)

bzl_library(
    name = "toolchain_aliases",
    srcs = ["toolchain_aliases.bzl"],
    deps = [
        "//python:versions",
        "@bazel_skylib//lib:selects",
    ],
)

bzl_library(
    name = "toolchains_repo",
    srcs = ["toolchains_repo.bzl"],
    deps = [
        ":repo_utils",
        ":text_util",
        "//python:versions",
    ],
)

bzl_library(
    name = "transition_labels",
    srcs = ["transition_labels.bzl"],
    deps = [
        ":common_labels",
        "@bazel_skylib//lib:collections",
        "@rules_python_internal//:extra_transition_settings",
    ],
)

bzl_library(
    name = "util",
    srcs = ["util.bzl"],
    deps = [
        ":py_internal",
        "@bazel_skylib//lib:types",
    ],
)

bzl_library(
    name = "venv_runfiles",
    srcs = ["venv_runfiles.bzl"],
    deps = [
        ":common",
        ":py_info",
        ":util",
        "@bazel_skylib//lib:paths",
    ],
)

bzl_library(
    name = "pyproject_utils",
    srcs = ["pyproject_utils.bzl"],
    deps = [
        ":version",
        "@toml.bzl//:toml",
    ],
)

bzl_library(
    name = "stamp_impl",
    srcs = ["stamp_impl.bzl"],
    deps = [":visibility"],
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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