refactor: use common_labels.bzl for labels used across files (#3263)
Cleanup after the PR introducing the common labels file.
Testing related labels (those starting with `//tests`) are left in
`tests/support/support.bzl`.
Only labels that are used in two or more files are moved into
common_labels. This avoids
obscuring otherwise simple assignments like defaults for attributes. It
also acts as a
signal that, if something is in common_labels.bzl, be ware it's used in
multiple places.
Only non-testing related labels (those not under `//tests`) are moved
into common_labels.
diff --git a/python/BUILD.bazel b/python/BUILD.bazel
index 58cff5b..76fa5dd 100644
--- a/python/BUILD.bazel
+++ b/python/BUILD.bazel
@@ -56,6 +56,7 @@
bzl_library(
name = "current_py_toolchain_bzl",
srcs = ["current_py_toolchain.bzl"],
+ deps = ["//python/private:toolchain_types_bzl"],
)
bzl_library(
@@ -91,11 +92,9 @@
deps = [
":py_binary_bzl",
"//python/private:bzlmod_enabled_bzl",
- "//python/private:py_package.bzl",
+ "//python/private:py_package_bzl",
"//python/private:py_wheel_bzl",
- "//python/private:stamp_bzl",
"//python/private:util_bzl",
- "//python/private:version.bzl",
"@bazel_skylib//rules:native_binary",
],
)
@@ -215,7 +214,6 @@
deps = [
"//python/private:py_runtime_info_bzl",
"//python/private:reexports_bzl",
- "//python/private:util_bzl",
"@rules_python_internal//:rules_python_config_bzl",
],
)
diff --git a/python/extensions/BUILD.bazel b/python/extensions/BUILD.bazel
index e6c876c..12c0f24 100644
--- a/python/extensions/BUILD.bazel
+++ b/python/extensions/BUILD.bazel
@@ -46,5 +46,6 @@
visibility = ["//:__subpackages__"],
deps = [
"//python/private:internal_config_repo_bzl",
+ "//python/private/pypi:deps_bzl",
],
)
diff --git a/python/private/BUILD.bazel b/python/private/BUILD.bazel
index f31b56e..916c14f 100644
--- a/python/private/BUILD.bazel
+++ b/python/private/BUILD.bazel
@@ -66,6 +66,7 @@
deps = [
":attr_builders_bzl",
":common_bzl",
+ ":common_labels_bzl",
":enum_bzl",
":flags_bzl",
":py_info_bzl",
@@ -356,6 +357,7 @@
name = "py_cc_toolchain_rule_bzl",
srcs = ["py_cc_toolchain_rule.bzl"],
deps = [
+ ":common_labels.bzl",
":py_cc_toolchain_info_bzl",
":rules_cc_srcs_bzl",
":util_bzl",
@@ -390,6 +392,7 @@
srcs = ["py_exec_tools_toolchain.bzl"],
deps = [
":common_bzl",
+ ":common_labels_bzl",
":py_exec_tools_info_bzl",
":sentinel_bzl",
":toolchain_types_bzl",
@@ -405,6 +408,7 @@
":attributes_bzl",
":cc_helper_bzl",
":common_bzl",
+ ":common_labels_bzl",
":flags_bzl",
":precompile_bzl",
":py_cc_link_params_info_bzl",
@@ -456,6 +460,7 @@
deps = [
":attributes_bzl",
":common_bzl",
+ ":common_labels_bzl",
":flags_bzl",
":normalize_name_bzl",
":precompile_bzl",
@@ -479,6 +484,7 @@
name = "py_library_rule_bzl",
srcs = ["py_library_rule.bzl"],
deps = [
+ ":common_labels_bzl",
":py_library_bzl",
],
)
@@ -522,6 +528,7 @@
srcs = ["py_runtime_rule.bzl"],
deps = [
":attributes_bzl",
+ ":common_labels_bzl",
":flags_bzl",
":py_internal_bzl",
":py_runtime_info_bzl",
@@ -545,6 +552,7 @@
name = "py_runtime_pair_rule_bzl",
srcs = ["py_runtime_pair_rule.bzl"],
deps = [
+ ":common_labels_bzl",
"//python:py_runtime_bzl",
"//python:py_runtime_info_bzl",
"@bazel_skylib//rules:common_settings",
@@ -591,6 +599,7 @@
":py_package_bzl",
":stamp_bzl",
":transition_labels_bzl",
+ ":version_bzl",
],
)
@@ -661,7 +670,7 @@
name = "transition_labels_bzl",
srcs = ["transition_labels.bzl"],
deps = [
- "common_labels_bzl",
+ ":common_labels_bzl",
"@bazel_skylib//lib:collections",
"@rules_python_internal//:extra_transition_settings_bzl",
],
diff --git a/python/private/attributes.bzl b/python/private/attributes.bzl
index 0ff92e3..8151a30 100644
--- a/python/private/attributes.bzl
+++ b/python/private/attributes.bzl
@@ -17,6 +17,7 @@
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
load("@rules_cc//cc/common:cc_info.bzl", "CcInfo")
load(":attr_builders.bzl", "attrb")
+load(":common_labels.bzl", "labels")
load(":enum.bzl", "enum")
load(":flags.bzl", "PrecompileFlag", "PrecompileSourceRetentionFlag")
load(":py_info.bzl", "PyInfo")
@@ -370,11 +371,11 @@
doc = "Defunct, unused, does nothing.",
),
"_precompile_flag": lambda: attrb.Label(
- default = "//python/config_settings:precompile",
+ default = labels.PRECOMPILE,
providers = [BuildSettingInfo],
),
"_precompile_source_retention_flag": lambda: attrb.Label(
- default = "//python/config_settings:precompile_source_retention",
+ default = labels.PRECOMPILE_SOURCE_RETENTION,
providers = [BuildSettingInfo],
),
# Force enabling auto exec groups, see
diff --git a/python/private/common_labels.bzl b/python/private/common_labels.bzl
index a55b594..4a6f6d3 100644
--- a/python/private/common_labels.bzl
+++ b/python/private/common_labels.bzl
@@ -9,13 +9,15 @@
BOOTSTRAP_IMPL = str(Label("//python/config_settings:bootstrap_impl")),
EXEC_TOOLS_TOOLCHAIN = str(Label("//python/config_settings:exec_tools_toolchain")),
PIP_ENV_MARKER_CONFIG = str(Label("//python/config_settings:pip_env_marker_config")),
- PIP_WHL_MUSLC_VERSION = str(Label("//python/config_settings:pip_whl_muslc_version")),
+ NONE = str(Label("//python:none")),
PIP_WHL = str(Label("//python/config_settings:pip_whl")),
PIP_WHL_GLIBC_VERSION = str(Label("//python/config_settings:pip_whl_glibc_version")),
+ PIP_WHL_MUSLC_VERSION = str(Label("//python/config_settings:pip_whl_muslc_version")),
PIP_WHL_OSX_ARCH = str(Label("//python/config_settings:pip_whl_osx_arch")),
PIP_WHL_OSX_VERSION = str(Label("//python/config_settings:pip_whl_osx_version")),
PRECOMPILE = str(Label("//python/config_settings:precompile")),
PRECOMPILE_SOURCE_RETENTION = str(Label("//python/config_settings:precompile_source_retention")),
+ PYC_COLLECTION = str(Label("//python/config_settings:pyc_collection")),
PYTHON_SRC = str(Label("//python/bin:python_src")),
PYTHON_VERSION = str(Label("//python/config_settings:python_version")),
PYTHON_VERSION_MAJOR_MINOR = str(Label("//python/config_settings:python_version_major_minor")),
@@ -24,4 +26,5 @@
REPL_DEP = str(Label("//python/bin:repl_dep")),
VENVS_SITE_PACKAGES = str(Label("//python/config_settings:venvs_site_packages")),
VENVS_USE_DECLARE_SYMLINK = str(Label("//python/config_settings:venvs_use_declare_symlink")),
+ VISIBLE_FOR_TESTING = str(Label("//python/private:visible_for_testing")),
)
diff --git a/python/private/py_cc_toolchain_rule.bzl b/python/private/py_cc_toolchain_rule.bzl
index f12933e..8adf73c 100644
--- a/python/private/py_cc_toolchain_rule.bzl
+++ b/python/private/py_cc_toolchain_rule.bzl
@@ -20,6 +20,7 @@
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
load("@rules_cc//cc/common:cc_info.bzl", "CcInfo")
+load(":common_labels.bzl", "labels")
load(":py_cc_toolchain_info.bzl", "PyCcToolchainInfo")
def _py_cc_toolchain_impl(ctx):
@@ -70,7 +71,7 @@
mandatory = True,
),
"_visible_for_testing": attr.label(
- default = "//python/private:visible_for_testing",
+ default = labels.VISIBLE_FOR_TESTING,
),
},
doc = """\
diff --git a/python/private/py_exec_tools_toolchain.bzl b/python/private/py_exec_tools_toolchain.bzl
index 332570b..00ad807 100644
--- a/python/private/py_exec_tools_toolchain.bzl
+++ b/python/private/py_exec_tools_toolchain.bzl
@@ -16,6 +16,7 @@
load("@bazel_skylib//lib:paths.bzl", "paths")
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
+load(":common_labels.bzl", "labels")
load(":py_exec_tools_info.bzl", "PyExecToolsInfo")
load(":sentinel.bzl", "SentinelInfo")
load(":toolchain_types.bzl", "TARGET_TOOLCHAIN_TYPE")
@@ -89,7 +90,7 @@
doc = "See {obj}`PyExecToolsInfo.precompiler`",
),
"_visible_for_testing": attr.label(
- default = "//python/private:visible_for_testing",
+ default = labels.VISIBLE_FOR_TESTING,
),
},
)
diff --git a/python/private/py_executable.bzl b/python/private/py_executable.bzl
index fa80ea5..59800da 100644
--- a/python/private/py_executable.bzl
+++ b/python/private/py_executable.bzl
@@ -51,6 +51,7 @@
"runfiles_root_path",
"target_platform_has_any_constraint",
)
+load(":common_labels.bzl", "labels")
load(":flags.bzl", "BootstrapImplFlag", "VenvsUseDeclareSymlinkFlag")
load(":precompile.bzl", "maybe_precompile")
load(":py_cc_link_params_info.bzl", "PyCcLinkParamsInfo")
@@ -60,18 +61,12 @@
load(":py_runtime_info.bzl", "DEFAULT_STUB_SHEBANG", "PyRuntimeInfo")
load(":reexports.bzl", "BuiltinPyInfo", "BuiltinPyRuntimeInfo")
load(":rule_builders.bzl", "ruleb")
-load(
- ":toolchain_types.bzl",
- "EXEC_TOOLS_TOOLCHAIN_TYPE",
- "TARGET_TOOLCHAIN_TYPE",
- TOOLCHAIN_TYPE = "TARGET_TOOLCHAIN_TYPE",
-)
+load(":toolchain_types.bzl", "EXEC_TOOLS_TOOLCHAIN_TYPE", "TARGET_TOOLCHAIN_TYPE", TOOLCHAIN_TYPE = "TARGET_TOOLCHAIN_TYPE")
load(":transition_labels.bzl", "TRANSITION_LABELS")
_py_builtins = py_internal
_EXTERNAL_PATH_PREFIX = "external"
_ZIP_RUNFILES_DIRECTORY_NAME = "runfiles"
-_PYTHON_VERSION_FLAG = str(Label("//python/config_settings:python_version"))
# Non-Google-specific attributes for executables
# These attributes are for rules that accept Python sources.
@@ -192,7 +187,7 @@
default = "@bazel_tools//tools/allowlists/function_transition_allowlist",
),
"_bootstrap_impl_flag": lambda: attrb.Label(
- default = "//python/config_settings:bootstrap_impl",
+ default = labels.BOOTSTRAP_IMPL,
providers = [BuildSettingInfo],
),
"_bootstrap_template": lambda: attrb.Label(
@@ -222,10 +217,10 @@
default = TARGET_TOOLCHAIN_TYPE,
),
"_python_version_flag": lambda: attrb.Label(
- default = "//python/config_settings:python_version",
+ default = labels.PYTHON_VERSION,
),
"_venvs_use_declare_symlink_flag": lambda: attrb.Label(
- default = "//python/config_settings:venvs_use_declare_symlink",
+ default = labels.VENVS_USE_DECLARE_SYMLINK,
providers = [BuildSettingInfo],
),
"_windows_constraints": lambda: attrb.LabelList(
@@ -1910,7 +1905,7 @@
apply_config_settings_attr(settings, attr)
if attr.python_version and attr.python_version not in ("PY2", "PY3"):
- settings[_PYTHON_VERSION_FLAG] = attr.python_version
+ settings[labels.PYTHON_VERSION] = attr.python_version
return settings
def create_executable_rule(*, attrs, **kwargs):
@@ -1961,8 +1956,8 @@
],
cfg = dict(
implementation = _transition_executable_impl,
- inputs = TRANSITION_LABELS + [_PYTHON_VERSION_FLAG],
- outputs = TRANSITION_LABELS + [_PYTHON_VERSION_FLAG],
+ inputs = TRANSITION_LABELS + [labels.PYTHON_VERSION],
+ outputs = TRANSITION_LABELS + [labels.PYTHON_VERSION],
),
**kwargs
)
diff --git a/python/private/py_library.bzl b/python/private/py_library.bzl
index 1f3e4d8..fc8e583 100644
--- a/python/private/py_library.bzl
+++ b/python/private/py_library.bzl
@@ -40,6 +40,7 @@
"get_imports",
"runfiles_root_path",
)
+load(":common_labels.bzl", "labels")
load(":flags.bzl", "AddSrcsToRunfilesFlag", "PrecompileFlag", "VenvsSitePackages")
load(":normalize_name.bzl", "normalize_name")
load(":precompile.bzl", "maybe_precompile")
@@ -102,7 +103,7 @@
""",
),
"_add_srcs_to_runfiles_flag": lambda: attrb.Label(
- default = "//python/config_settings:add_srcs_to_runfiles",
+ default = labels.ADD_SRCS_TO_RUNFILES,
),
},
)
diff --git a/python/private/py_runtime_pair_rule.bzl b/python/private/py_runtime_pair_rule.bzl
index b3b7a4e..775d53a 100644
--- a/python/private/py_runtime_pair_rule.bzl
+++ b/python/private/py_runtime_pair_rule.bzl
@@ -16,6 +16,7 @@
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
load("//python:py_runtime_info.bzl", "PyRuntimeInfo")
+load(":common_labels.bzl", "labels")
load(":reexports.bzl", "BuiltinPyRuntimeInfo")
load(":util.bzl", "IS_BAZEL_7_OR_HIGHER")
@@ -94,7 +95,7 @@
""",
),
"_visible_for_testing": attr.label(
- default = "//python/private:visible_for_testing",
+ default = labels.VISIBLE_FOR_TESTING,
),
},
fragments = ["py"],
diff --git a/python/private/py_runtime_rule.bzl b/python/private/py_runtime_rule.bzl
index 861014e..a511a0e 100644
--- a/python/private/py_runtime_rule.bzl
+++ b/python/private/py_runtime_rule.bzl
@@ -17,6 +17,7 @@
load("@bazel_skylib//lib:paths.bzl", "paths")
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
load(":attributes.bzl", "NATIVE_RULES_ALLOWLIST_ATTRS")
+load(":common_labels.bzl", "labels")
load(":flags.bzl", "FreeThreadedFlag")
load(":py_internal.bzl", "py_internal")
load(":py_runtime_info.bzl", "DEFAULT_STUB_SHEBANG", "PyRuntimeInfo")
@@ -379,10 +380,10 @@
""",
),
"_py_freethreaded_flag": attr.label(
- default = "//python/config_settings:py_freethreaded",
+ default = labels.PY_FREETHREADED,
),
"_python_version_flag": attr.label(
- default = "//python/config_settings:python_version",
+ default = labels.PYTHON_VERSION,
),
},
),
diff --git a/python/private/pypi/BUILD.bazel b/python/private/pypi/BUILD.bazel
index c7a74ee..0d2f73f 100644
--- a/python/private/pypi/BUILD.bazel
+++ b/python/private/pypi/BUILD.bazel
@@ -63,6 +63,7 @@
srcs = ["config_settings.bzl"],
deps = [
":flags_bzl",
+ "//python/private:common_labels_bzl",
"//python/private:flags_bzl",
"@bazel_skylib//lib:selects",
],
@@ -89,6 +90,7 @@
":env_marker_info_bzl",
":pep508_env_bzl",
":pep508_evaluate_bzl",
+ "//python/private:common_labels_bzl",
"//python/private:toolchain_types_bzl",
"@bazel_skylib//rules:common_settings",
],
@@ -337,6 +339,7 @@
srcs = ["pkg_aliases.bzl"],
deps = [
":labels_bzl",
+ "//python/private:common_labels_bzl",
"//python/private:text_util_bzl",
"@bazel_skylib//lib:selects",
],
diff --git a/python/private/pypi/env_marker_setting.bzl b/python/private/pypi/env_marker_setting.bzl
index 2bfdf42..71c6b41 100644
--- a/python/private/pypi/env_marker_setting.bzl
+++ b/python/private/pypi/env_marker_setting.bzl
@@ -1,6 +1,7 @@
"""Implement a flag for matching the dependency specifiers at analysis time."""
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
+load("//python/private:common_labels.bzl", "labels")
load("//python/private:toolchain_types.bzl", "TARGET_TOOLCHAIN_TYPE")
load(":env_marker_info.bzl", "EnvMarkerInfo")
load(":pep508_env.bzl", "create_env", "set_missing_env_defaults")
@@ -85,15 +86,15 @@
doc = "Environment marker expression to evaluate.",
),
"_env_marker_config_flag": attr.label(
- default = "//python/config_settings:pip_env_marker_config",
+ default = labels.PIP_ENV_MARKER_CONFIG,
providers = [EnvMarkerInfo],
),
"_python_full_version_flag": attr.label(
- default = "//python/config_settings:python_version",
+ default = labels.PYTHON_VERSION,
providers = [config_common.FeatureFlagInfo],
),
"_python_version_major_minor_flag": attr.label(
- default = "//python/config_settings:python_version_major_minor",
+ default = labels.PYTHON_VERSION_MAJOR_MINOR,
providers = [config_common.FeatureFlagInfo],
),
},
diff --git a/python/private/pypi/flags.bzl b/python/private/pypi/flags.bzl
index 0373839..f88690d 100644
--- a/python/private/pypi/flags.bzl
+++ b/python/private/pypi/flags.bzl
@@ -19,6 +19,7 @@
"""
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo", "string_flag")
+load("//python/private:common_labels.bzl", "labels")
load("//python/private:enum.bzl", "enum")
load(":env_marker_info.bzl", "EnvMarkerInfo")
load(
@@ -103,9 +104,9 @@
_allow_wheels_flag = rule(
implementation = _allow_wheels_flag_impl,
attrs = {
- "_setting": attr.label(default = "//python/config_settings:pip_whl"),
+ "_setting": attr.label(default = labels.PIP_WHL),
},
- doc = """\
+ doc = """
This rule allows us to greatly reduce the number of config setting targets at no cost even
if we are duplicating some of the functionality of the `native.config_setting`.
""",
@@ -153,7 +154,7 @@
"platform_system": attr.string(),
"sys_platform": attr.string(),
"_pip_whl_osx_version_flag": attr.label(
- default = "//python/config_settings:pip_whl_osx_version",
+ default = labels.PIP_WHL_OSX_VERSION,
providers = [[BuildSettingInfo], [config_common.FeatureFlagInfo]],
),
},
diff --git a/python/private/pypi/pkg_aliases.bzl b/python/private/pypi/pkg_aliases.bzl
index 67ce297..ac063fa 100644
--- a/python/private/pypi/pkg_aliases.bzl
+++ b/python/private/pypi/pkg_aliases.bzl
@@ -32,6 +32,7 @@
"""
load("@bazel_skylib//lib:selects.bzl", "selects")
+load("//python/private:common_labels.bzl", "labels")
load("//python/private:text_util.bzl", "render")
load(
":labels.bzl",
@@ -63,7 +64,7 @@
However, the command above will hide the `bazel config <config id>` message.
"""
-_LABEL_NONE = Label("//python:none")
+_LABEL_NONE = labels.NONE
_LABEL_CURRENT_CONFIG = Label("//python/config_settings:current_config")
_LABEL_CURRENT_CONFIG_NO_MATCH = Label("//python/config_settings:is_not_matching_current_config")
_INCOMPATIBLE = "_no_matching_repository"
diff --git a/python/uv/private/BUILD.bazel b/python/uv/private/BUILD.bazel
index a07d859..3e4d6c7 100644
--- a/python/uv/private/BUILD.bazel
+++ b/python/uv/private/BUILD.bazel
@@ -43,6 +43,7 @@
":toolchain_types_bzl",
"//python:py_binary_bzl",
"//python/private:bzlmod_enabled_bzl",
+ "//python/private:common_labels_bzl",
"//python/private:toolchain_types_bzl",
"@bazel_skylib//lib:shell",
],
@@ -63,6 +64,7 @@
":uv_repository_bzl",
":uv_toolchains_repo_bzl",
"//python/private:auth_bzl",
+ "//python/private:common_labels_bzl",
],
)
diff --git a/python/uv/private/lock.bzl b/python/uv/private/lock.bzl
index 2731d6b..281a0de 100644
--- a/python/uv/private/lock.bzl
+++ b/python/uv/private/lock.bzl
@@ -18,13 +18,12 @@
load("@bazel_skylib//lib:shell.bzl", "shell")
load("//python:py_binary.bzl", "py_binary")
load("//python/private:bzlmod_enabled.bzl", "BZLMOD_ENABLED") # buildifier: disable=bzl-visibility
+load("//python/private:common_labels.bzl", "labels")
load("//python/private:toolchain_types.bzl", "EXEC_TOOLS_TOOLCHAIN_TYPE") # buildifier: disable=bzl-visibility
load(":toolchain_types.bzl", "UV_TOOLCHAIN_TYPE")
visibility(["//..."])
-_PYTHON_VERSION_FLAG = "//python/config_settings:python_version"
-
_RunLockInfo = provider(
doc = "",
fields = {
@@ -161,16 +160,16 @@
def _transition_impl(input_settings, attr):
settings = {
- _PYTHON_VERSION_FLAG: input_settings[_PYTHON_VERSION_FLAG],
+ labels.PYTHON_VERSION: input_settings[labels.PYTHON_VERSION],
}
if attr.python_version:
- settings[_PYTHON_VERSION_FLAG] = attr.python_version
+ settings[labels.PYTHON_VERSION] = attr.python_version
return settings
_python_version_transition = transition(
implementation = _transition_impl,
- inputs = [_PYTHON_VERSION_FLAG],
- outputs = [_PYTHON_VERSION_FLAG],
+ inputs = [labels.PYTHON_VERSION],
+ outputs = [labels.PYTHON_VERSION],
)
_lock = rule(
diff --git a/python/uv/private/uv.bzl b/python/uv/private/uv.bzl
index 2cc2df1..fe0911e 100644
--- a/python/uv/private/uv.bzl
+++ b/python/uv/private/uv.bzl
@@ -19,6 +19,7 @@
"""
load("//python/private:auth.bzl", "AUTH_ATTRS", "get_auth")
+load("//python/private:common_labels.bzl", "labels")
load(":toolchain_types.bzl", "UV_TOOLCHAIN_TYPE")
load(":uv_repository.bzl", "uv_repository")
load(":uv_toolchains_repo.bzl", "uv_toolchains_repo")
@@ -288,7 +289,7 @@
toolchain_names = ["none"],
toolchain_implementations = {
# NOTE @aignas 2025-02-24: the label to the toolchain can be anything
- "none": str(Label("//python:none")),
+ "none": labels.NONE,
},
toolchain_compatible_with = {
"none": ["@platforms//:incompatible"],
diff --git a/tests/base_rules/precompile/precompile_tests.bzl b/tests/base_rules/precompile/precompile_tests.bzl
index 895f2d3..fe5c165 100644
--- a/tests/base_rules/precompile/precompile_tests.bzl
+++ b/tests/base_rules/precompile/precompile_tests.bzl
@@ -23,13 +23,11 @@
load("//python:py_info.bzl", "PyInfo")
load("//python:py_library.bzl", "py_library")
load("//python:py_test.bzl", "py_test")
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
load("//tests/support:py_info_subject.bzl", "py_info_subject")
load(
"//tests/support:support.bzl",
- "ADD_SRCS_TO_RUNFILES",
"CC_TOOLCHAIN",
- "EXEC_TOOLS_TOOLCHAIN",
- "PRECOMPILE",
"PY_TOOLCHAINS",
)
@@ -38,7 +36,7 @@
# it for conformity.
"//command_line_option:allow_unresolved_symlinks": True,
"//command_line_option:extra_toolchains": [PY_TOOLCHAINS, CC_TOOLCHAIN],
- EXEC_TOOLS_TOOLCHAIN: "enabled",
+ labels.EXEC_TOOLS_TOOLCHAIN: "enabled",
}
_tests = []
@@ -150,7 +148,7 @@
name = name,
impl = _test_precompile_enabled_py_library_add_to_runfiles_disabled_impl,
config_settings = {
- ADD_SRCS_TO_RUNFILES: "disabled",
+ labels.ADD_SRCS_TO_RUNFILES: "disabled",
},
)
@@ -166,7 +164,7 @@
name = name,
impl = _test_precompile_enabled_py_library_add_to_runfiles_enabled_impl,
config_settings = {
- ADD_SRCS_TO_RUNFILES: "enabled",
+ labels.ADD_SRCS_TO_RUNFILES: "enabled",
},
)
@@ -203,7 +201,7 @@
name = name,
impl = _test_pyc_only_impl,
config_settings = _COMMON_CONFIG_SETTINGS | {
- PRECOMPILE: "enabled",
+ labels.PRECOMPILE: "enabled",
},
target = name + "_subject",
)
@@ -310,7 +308,7 @@
impl = test_impl,
target = name + "_bin",
config_settings = _COMMON_CONFIG_SETTINGS | {
- PRECOMPILE: precompile_flag,
+ labels.PRECOMPILE: precompile_flag,
},
)
@@ -531,7 +529,7 @@
impl = _test_precompile_attr_inherit_pyc_collection_disabled_precompile_flag_enabled_impl,
target = name + "_subject",
config_settings = _COMMON_CONFIG_SETTINGS | {
- PRECOMPILE: "enabled",
+ labels.PRECOMPILE: "enabled",
},
)
diff --git a/tests/base_rules/py_executable_base_tests.bzl b/tests/base_rules/py_executable_base_tests.bzl
index 2b96451..4e45128 100644
--- a/tests/base_rules/py_executable_base_tests.bzl
+++ b/tests/base_rules/py_executable_base_tests.bzl
@@ -19,12 +19,13 @@
load("@rules_testing//lib:truth.bzl", "matching")
load("@rules_testing//lib:util.bzl", rt_util = "util")
load("//python:py_executable_info.bzl", "PyExecutableInfo")
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
load("//python/private:reexports.bzl", "BuiltinPyRuntimeInfo") # buildifier: disable=bzl-visibility
load("//python/private:util.bzl", "IS_BAZEL_7_OR_HIGHER") # buildifier: disable=bzl-visibility
load("//tests/base_rules:base_tests.bzl", "create_base_tests")
load("//tests/base_rules:util.bzl", "WINDOWS_ATTR", pt_util = "util")
load("//tests/support:py_executable_info_subject.bzl", "PyExecutableInfoSubject")
-load("//tests/support:support.bzl", "BOOTSTRAP_IMPL", "CC_TOOLCHAIN", "CROSSTOOL_TOP", "LINUX_X86_64", "WINDOWS_X86_64")
+load("//tests/support:support.bzl", "CC_TOOLCHAIN", "CROSSTOOL_TOP", "LINUX_X86_64", "WINDOWS_X86_64")
_tests = []
@@ -355,7 +356,7 @@
impl = _test_main_module_bootstrap_system_python_impl,
target = name + "_subject",
config_settings = {
- BOOTSTRAP_IMPL: "system_python",
+ labels.BOOTSTRAP_IMPL: "system_python",
"//command_line_option:extra_execution_platforms": ["@bazel_tools//tools:host_platform", LINUX_X86_64],
"//command_line_option:platforms": [LINUX_X86_64],
},
@@ -379,7 +380,7 @@
impl = _test_main_module_bootstrap_script_impl,
target = name + "_subject",
config_settings = {
- BOOTSTRAP_IMPL: "script",
+ labels.BOOTSTRAP_IMPL: "script",
"//command_line_option:extra_execution_platforms": ["@bazel_tools//tools:host_platform", LINUX_X86_64],
"//command_line_option:platforms": [LINUX_X86_64],
},
diff --git a/tests/base_rules/py_test/py_test_tests.bzl b/tests/base_rules/py_test/py_test_tests.bzl
index c51aa53..1ec1dc4 100644
--- a/tests/base_rules/py_test/py_test_tests.bzl
+++ b/tests/base_rules/py_test/py_test_tests.bzl
@@ -60,7 +60,7 @@
"//command_line_option:cpu": "darwin_x86_64",
"//command_line_option:crosstool_top": CROSSTOOL_TOP,
"//command_line_option:extra_execution_platforms": [MAC_X86_64],
- "//command_line_option:extra_toolchains": CC_TOOLCHAIN,
+ "//command_line_option:extra_toolchains": [CC_TOOLCHAIN],
"//command_line_option:platforms": [MAC_X86_64],
},
attr_values = _SKIP_WINDOWS,
@@ -94,7 +94,7 @@
"//command_line_option:cpu": "k8",
"//command_line_option:crosstool_top": CROSSTOOL_TOP,
"//command_line_option:extra_execution_platforms": [LINUX_X86_64],
- "//command_line_option:extra_toolchains": CC_TOOLCHAIN,
+ "//command_line_option:extra_toolchains": [CC_TOOLCHAIN],
"//command_line_option:platforms": [LINUX_X86_64],
},
attr_values = _SKIP_WINDOWS,
diff --git a/tests/builders/attr_builders_tests.bzl b/tests/builders/attr_builders_tests.bzl
index e92ba2a..3a771af 100644
--- a/tests/builders/attr_builders_tests.bzl
+++ b/tests/builders/attr_builders_tests.bzl
@@ -18,6 +18,7 @@
load("@rules_testing//lib:test_suite.bzl", "test_suite")
load("@rules_testing//lib:truth.bzl", "truth")
load("//python/private:attr_builders.bzl", "attrb") # buildifier: disable=bzl-visibility
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
def _expect_cfg_defaults(expect, cfg):
expect.where(expr = "cfg.outputs").that_collection(cfg.outputs()).contains_exactly([])
@@ -41,7 +42,7 @@
analysis_test(
name = name,
- target = "//python:none",
+ target = labels.NONE,
impl = _report_failures_impl,
)
diff --git a/tests/builders/rule_builders_tests.bzl b/tests/builders/rule_builders_tests.bzl
index 3f14832..a8ac31f 100644
--- a/tests/builders/rule_builders_tests.bzl
+++ b/tests/builders/rule_builders_tests.bzl
@@ -18,6 +18,7 @@
load("@rules_testing//lib:test_suite.bzl", "test_suite")
load("@rules_testing//lib:util.bzl", "TestingAspectInfo")
load("//python/private:attr_builders.bzl", "attrb") # buildifier: disable=bzl-visibility
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
load("//python/private:rule_builders.bzl", "ruleb") # buildifier: disable=bzl-visibility
RuleInfo = provider(doc = "test provider", fields = [])
@@ -49,7 +50,7 @@
flavors = ["spicy", "sweet"],
organic = True,
size = 5,
- origin = "//python:none",
+ origin = labels.NONE,
fertilizers = [
"nitrogen.txt",
"phosphorus.txt",
@@ -169,7 +170,7 @@
env.expect.that_collection(subject.exec_compatible_with()).contains_exactly([])
env.expect.that_str(str(subject.build())).contains("ExecGroup")
- subject.toolchains().append(ruleb.ToolchainType("//python:none"))
+ subject.toolchains().append(ruleb.ToolchainType(labels.NONE))
subject.exec_compatible_with().append("//some:constraint")
env.expect.that_str(str(subject.build())).contains("ExecGroup")
diff --git a/tests/exec_toolchain_matching/exec_toolchain_matching_tests.bzl b/tests/exec_toolchain_matching/exec_toolchain_matching_tests.bzl
index f6eae5a..43a9717 100644
--- a/tests/exec_toolchain_matching/exec_toolchain_matching_tests.bzl
+++ b/tests/exec_toolchain_matching/exec_toolchain_matching_tests.bzl
@@ -18,9 +18,10 @@
load("@rules_testing//lib:util.bzl", rt_util = "util")
load("//python:py_runtime.bzl", "py_runtime")
load("//python:py_runtime_pair.bzl", "py_runtime_pair")
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
load("//python/private:toolchain_types.bzl", "EXEC_TOOLS_TOOLCHAIN_TYPE", "TARGET_TOOLCHAIN_TYPE") # buildifier: disable=bzl-visibility
load("//python/private:util.bzl", "IS_BAZEL_7_OR_HIGHER") # buildifier: disable=bzl-visibility
-load("//tests/support:support.bzl", "LINUX", "MAC", "PYTHON_VERSION")
+load("//tests/support:support.bzl", "LINUX", "MAC")
_LookupInfo = provider() # buildifier: disable=provider-params
@@ -129,7 +130,7 @@
"//command_line_option:extra_execution_platforms": [str(MAC)],
"//command_line_option:extra_toolchains": ["//tests/exec_toolchain_matching:all"],
"//command_line_option:platforms": [str(LINUX)],
- PYTHON_VERSION: "3.12",
+ labels.PYTHON_VERSION: "3.12",
},
)
diff --git a/tests/py_runtime/py_runtime_tests.bzl b/tests/py_runtime/py_runtime_tests.bzl
index d5a6076..4ec7590 100644
--- a/tests/py_runtime/py_runtime_tests.bzl
+++ b/tests/py_runtime/py_runtime_tests.bzl
@@ -20,9 +20,9 @@
load("@rules_testing//lib:util.bzl", rt_util = "util")
load("//python:py_runtime.bzl", "py_runtime")
load("//python:py_runtime_info.bzl", "PyRuntimeInfo")
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
load("//tests/base_rules:util.bzl", br_util = "util")
load("//tests/support:py_runtime_info_subject.bzl", "py_runtime_info_subject")
-load("//tests/support:support.bzl", "PYTHON_VERSION")
_tests = []
@@ -543,7 +543,7 @@
target = name + "_subject",
impl = _test_version_info_from_flag_impl,
config_settings = {
- PYTHON_VERSION: "3.12",
+ labels.PYTHON_VERSION: "3.12",
},
)
diff --git a/tests/pypi/env_marker_setting/env_marker_setting_tests.bzl b/tests/pypi/env_marker_setting/env_marker_setting_tests.bzl
index e16f2c8..c5b3f72 100644
--- a/tests/pypi/env_marker_setting/env_marker_setting_tests.bzl
+++ b/tests/pypi/env_marker_setting/env_marker_setting_tests.bzl
@@ -3,9 +3,9 @@
load("@rules_testing//lib:analysis_test.bzl", "analysis_test")
load("@rules_testing//lib:test_suite.bzl", "test_suite")
load("@rules_testing//lib:util.bzl", "TestingAspectInfo")
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
load("//python/private/pypi:env_marker_info.bzl", "EnvMarkerInfo") # buildifier: disable=bzl-visibility
load("//python/private/pypi:env_marker_setting.bzl", "env_marker_setting") # buildifier: disable=bzl-visibility
-load("//tests/support:support.bzl", "PIP_ENV_MARKER_CONFIG", "PYTHON_VERSION")
def _custom_env_markers_impl(ctx):
_ = ctx # @unused
@@ -37,7 +37,7 @@
impl = _impl,
target = name + "_subject",
config_settings = {
- PIP_ENV_MARKER_CONFIG: str(Label(name + "_env")),
+ labels.PIP_ENV_MARKER_CONFIG: str(Label(name + "_env")),
},
)
@@ -56,14 +56,14 @@
cases = {
"python_full_version_lt_negative": {
"config_settings": {
- PYTHON_VERSION: "3.12.0",
+ labels.PYTHON_VERSION: "3.12.0",
},
"expected": "FALSE",
"expression": "python_full_version < '3.8'",
},
"python_version_gte": {
"config_settings": {
- PYTHON_VERSION: "3.12.0",
+ labels.PYTHON_VERSION: "3.12.0",
},
"expected": "TRUE",
"expression": "python_version >= '3.12.0'",
diff --git a/tests/pypi/pkg_aliases/pkg_aliases_test.bzl b/tests/pypi/pkg_aliases/pkg_aliases_test.bzl
index 6248261..32be6ba 100644
--- a/tests/pypi/pkg_aliases/pkg_aliases_test.bzl
+++ b/tests/pypi/pkg_aliases/pkg_aliases_test.bzl
@@ -15,6 +15,7 @@
"""pkg_aliases tests"""
load("@rules_testing//lib:test_suite.bzl", "test_suite")
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
load("//python/private/pypi:config_settings.bzl", "config_settings") # buildifier: disable=bzl-visibility
load(
"//python/private/pypi:pkg_aliases.bzl",
@@ -81,7 +82,7 @@
},
# This will be printing the current config values and will make sure we
# have an error.
- "_no_matching_repository": {Label("//python/config_settings:is_not_matching_current_config"): Label("//python:none")},
+ "_no_matching_repository": {Label("//python/config_settings:is_not_matching_current_config"): labels.NONE},
}
env.expect.that_dict(got).contains_at_least(want)
env.expect.that_collection(actual_no_match_error).has_size(1)
diff --git a/tests/runtime_env_toolchain/runtime_env_toolchain_tests.bzl b/tests/runtime_env_toolchain/runtime_env_toolchain_tests.bzl
index 9885a1e..aa4d1c7 100644
--- a/tests/runtime_env_toolchain/runtime_env_toolchain_tests.bzl
+++ b/tests/runtime_env_toolchain/runtime_env_toolchain_tests.bzl
@@ -17,6 +17,7 @@
load("@rules_testing//lib:analysis_test.bzl", "analysis_test")
load("@rules_testing//lib:test_suite.bzl", "test_suite")
load("@rules_testing//lib:util.bzl", rt_util = "util")
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
load(
"//python/private:toolchain_types.bzl",
"EXEC_TOOLS_TOOLCHAIN_TYPE",
@@ -24,7 +25,7 @@
"TARGET_TOOLCHAIN_TYPE",
) # buildifier: disable=bzl-visibility
load("//python/private:util.bzl", "IS_BAZEL_7_OR_HIGHER") # buildifier: disable=bzl-visibility
-load("//tests/support:support.bzl", "CC_TOOLCHAIN", "EXEC_TOOLS_TOOLCHAIN", "VISIBLE_FOR_TESTING")
+load("//tests/support:support.bzl", "CC_TOOLCHAIN")
_LookupInfo = provider() # buildifier: disable=provider-params
@@ -79,8 +80,8 @@
target = name + "_subject",
config_settings = {
"//command_line_option:extra_toolchains": extra_toolchains,
- EXEC_TOOLS_TOOLCHAIN: "enabled",
- VISIBLE_FOR_TESTING: True,
+ labels.EXEC_TOOLS_TOOLCHAIN: "enabled",
+ labels.VISIBLE_FOR_TESTING: True,
},
)
diff --git a/tests/support/py_reconfig.bzl b/tests/support/py_reconfig.bzl
index 38d5366..d52cc5d 100644
--- a/tests/support/py_reconfig.bzl
+++ b/tests/support/py_reconfig.bzl
@@ -23,13 +23,13 @@
load("//python/private:py_binary_rule.bzl", "create_py_binary_rule_builder") # buildifier: disable=bzl-visibility
load("//python/private:py_test_macro.bzl", "py_test_macro") # buildifier: disable=bzl-visibility
load("//python/private:py_test_rule.bzl", "create_py_test_rule_builder") # buildifier: disable=bzl-visibility
-load("//tests/support:support.bzl", "CUSTOM_RUNTIME", "VISIBLE_FOR_TESTING")
+load("//tests/support:support.bzl", "CUSTOM_RUNTIME")
def _perform_transition_impl(input_settings, attr, base_impl):
settings = {k: input_settings[k] for k in _RECONFIG_INHERITED_OUTPUTS if k in input_settings}
settings.update(base_impl(input_settings, attr))
- settings[VISIBLE_FOR_TESTING] = True
+ settings[labels.VISIBLE_FOR_TESTING] = True
settings["//command_line_option:build_python_zip"] = attr.build_python_zip
if attr.bootstrap_impl:
settings[labels.BOOTSTRAP_IMPL] = attr.bootstrap_impl
@@ -58,7 +58,7 @@
]
_RECONFIG_OUTPUTS = _RECONFIG_INPUTS + [
"//command_line_option:build_python_zip",
- VISIBLE_FOR_TESTING,
+ labels.VISIBLE_FOR_TESTING,
]
_RECONFIG_INHERITED_OUTPUTS = [v for v in _RECONFIG_OUTPUTS if v in _RECONFIG_INPUTS]
diff --git a/tests/support/sh_py_run_test.bzl b/tests/support/sh_py_run_test.bzl
index 83ac2c8..7dff667 100644
--- a/tests/support/sh_py_run_test.bzl
+++ b/tests/support/sh_py_run_test.bzl
@@ -18,6 +18,7 @@
"""
load("@rules_shell//shell:sh_test.bzl", "sh_test")
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
load("//python/private:toolchain_types.bzl", "TARGET_TOOLCHAIN_TYPE") # buildifier: disable=bzl-visibility
load(":py_reconfig.bzl", "py_reconfig_binary")
@@ -79,7 +80,7 @@
implementation = _current_build_settings_impl,
attrs = {
"_bootstrap_impl_flag": attr.label(
- default = "//python/config_settings:bootstrap_impl",
+ default = labels.BOOTSTRAP_IMPL,
),
},
toolchains = [
diff --git a/tests/support/support.bzl b/tests/support/support.bzl
index 28cab0d..37d3488 100644
--- a/tests/support/support.bzl
+++ b/tests/support/support.bzl
@@ -35,15 +35,6 @@
# str() around Label() is necessary because rules_testing's config_settings
# doesn't accept yet Label objects.
-ADD_SRCS_TO_RUNFILES = str(Label("//python/config_settings:add_srcs_to_runfiles"))
-BOOTSTRAP_IMPL = str(Label("//python/config_settings:bootstrap_impl"))
-EXEC_TOOLS_TOOLCHAIN = str(Label("//python/config_settings:exec_tools_toolchain"))
-PIP_ENV_MARKER_CONFIG = str(Label("//python/config_settings:pip_env_marker_config"))
-PRECOMPILE = str(Label("//python/config_settings:precompile"))
-PRECOMPILE_SOURCE_RETENTION = str(Label("//python/config_settings:precompile_source_retention"))
-PYC_COLLECTION = str(Label("//python/config_settings:pyc_collection"))
-PYTHON_VERSION = str(Label("//python/config_settings:python_version"))
-VISIBLE_FOR_TESTING = str(Label("//python/private:visible_for_testing"))
CUSTOM_RUNTIME = str(Label("//tests/support:custom_runtime"))
SUPPORTS_BOOTSTRAP_SCRIPT = select({
diff --git a/tests/toolchains/transitions/transitions_tests.bzl b/tests/toolchains/transitions/transitions_tests.bzl
index 0f1db2e..0cd79b3 100644
--- a/tests/toolchains/transitions/transitions_tests.bzl
+++ b/tests/toolchains/transitions/transitions_tests.bzl
@@ -20,9 +20,9 @@
load("@rules_testing//lib:util.bzl", rt_util = "util")
load("//python:versions.bzl", "TOOL_VERSIONS")
load("//python/private:bzlmod_enabled.bzl", "BZLMOD_ENABLED") # buildifier: disable=bzl-visibility
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
load("//python/private:full_version.bzl", "full_version") # buildifier: disable=bzl-visibility
load("//python/private:toolchain_types.bzl", "EXEC_TOOLS_TOOLCHAIN_TYPE") # buildifier: disable=bzl-visibility
-load("//tests/support:support.bzl", "PYTHON_VERSION")
_analysis_tests = []
@@ -33,16 +33,16 @@
for their own rule.
"""
settings = {
- PYTHON_VERSION: input_settings[PYTHON_VERSION],
+ labels.PYTHON_VERSION: input_settings[labels.PYTHON_VERSION],
}
if attr.python_version:
- settings[PYTHON_VERSION] = attr.python_version
+ settings[labels.PYTHON_VERSION] = attr.python_version
return settings
_python_version_transition = transition(
implementation = _transition_impl,
- inputs = [PYTHON_VERSION],
- outputs = [PYTHON_VERSION],
+ inputs = [labels.PYTHON_VERSION],
+ outputs = [labels.PYTHON_VERSION],
)
TestInfo = provider(
diff --git a/tests/uv/uv/uv_tests.bzl b/tests/uv/uv/uv_tests.bzl
index b464dab..8009405 100644
--- a/tests/uv/uv/uv_tests.bzl
+++ b/tests/uv/uv/uv_tests.bzl
@@ -17,6 +17,7 @@
load("@rules_testing//lib:analysis_test.bzl", "analysis_test")
load("@rules_testing//lib:test_suite.bzl", "test_suite")
load("@rules_testing//lib:truth.bzl", "subjects")
+load("//python/private:common_labels.bzl", "labels") # buildifier: disable=bzl-visibility
load("//python/uv:uv_toolchain_info.bzl", "UvToolchainInfo")
load("//python/uv/private:uv.bzl", "process_modules") # buildifier: disable=bzl-visibility
load("//python/uv/private:uv_toolchain.bzl", "uv_toolchain") # buildifier: disable=bzl-visibility
@@ -166,7 +167,7 @@
"none",
])
uv.implementations().contains_exactly({
- "none": str(Label("//python:none")),
+ "none": labels.NONE,
})
uv.compatible_with().contains_exactly({
"none": ["@platforms//:incompatible"],