load("//python/config_settings:transition.bzl", "py_binary") load("//python/entry_points:py_console_script_binary.bzl", "py_console_script_binary") load("//tools/private:publish_deps.bzl", "publish_deps") py_console_script_binary( name = "twine", # We use a py_binary rule with version transitions to ensure that we do not # rely on the default version of the registered python toolchain. What is more # we are using this instead of `@python_versions//3.11:defs.bzl` because loading # that file relies on bzlmod being enabled. binary_rule = py_binary, pkg = "@rules_python_publish_deps//twine", python_version = "3.11", script = "twine", visibility = ["//visibility:public"], ) filegroup( name = "distribution", srcs = [ "BUILD.bazel", "requirements_darwin.txt", "requirements_linux.txt", "requirements_universal.txt", "requirements_windows.txt", ], visibility = ["//tools:__subpackages__"], ) # Run bazel run //private:requirements.update to update the outs publish_deps( name = "requirements", srcs = ["requirements.in"], outs = { "requirements_darwin.txt": "macos", "requirements_linux.txt": "linux", "requirements_universal.txt": "", # universal "requirements_windows.txt": "windows", }, upgrade = True, visibility = ["//private:__pkg__"], )