From 7c03f15bd1df44ae21b5e9a25728b427161a1939 Mon Sep 17 00:00:00 2001 From: Greg Date: Thu, 29 Dec 2022 20:49:45 +1100 Subject: [PATCH 1/4] . --- python/extensions.bzl | 2 +- python/pip_install/BUILD.bazel | 13 ++-- python/pip_install/pip_repository.bzl | 4 +- .../pip_install/private/pip_install_utils.bzl | 4 +- python/pip_install/private/srcs.bzl | 21 +++--- python/pip_install/repositories.bzl | 2 +- python/pip_install/requirements.bzl | 2 +- .../tools/dependency_resolver/BUILD.bazel | 19 ++++++ .../dependency_resolver}/__init__.py | 0 .../dependency_resolver.py} | 0 .../{extract_wheels => tools/lib}/BUILD.bazel | 65 +----------------- python/pip_install/tools/lib/__init__.py | 0 .../lib}/annotation.py | 0 .../lib}/annotations_test.py | 2 +- .../lib}/annotations_test_helpers.bzl | 2 +- .../lib}/arguments.py | 0 .../lib}/arguments_test.py | 2 +- .../{extract_wheels => tools/lib}/bazel.py | 0 .../tools/lock_file_generator/BUILD.bazel | 51 ++++++++++++++ .../tools/lock_file_generator/__init__.py | 0 .../lock_file_generator.py} | 2 +- .../lock_file_generator_test.py} | 14 ++-- .../tools/wheel_installer/BUILD.bazel | 68 +++++++++++++++++++ .../wheel_installer}/namespace_pkgs.py | 0 .../wheel_installer}/namespace_pkgs_test.py | 2 +- .../wheel_installer}/wheel.py | 0 .../wheel_installer}/wheel_installer.py | 9 +-- .../wheel_installer}/wheel_installer_test.py | 2 +- 28 files changed, 180 insertions(+), 106 deletions(-) create mode 100644 python/pip_install/tools/dependency_resolver/BUILD.bazel rename python/pip_install/{extract_wheels => tools/dependency_resolver}/__init__.py (100%) rename python/pip_install/{pip_compile.py => tools/dependency_resolver/dependency_resolver.py} (100%) rename python/pip_install/{extract_wheels => tools/lib}/BUILD.bazel (60%) create mode 100644 python/pip_install/tools/lib/__init__.py rename python/pip_install/{extract_wheels => tools/lib}/annotation.py (100%) rename python/pip_install/{extract_wheels => tools/lib}/annotations_test.py (97%) rename python/pip_install/{extract_wheels => tools/lib}/annotations_test_helpers.bzl (97%) rename python/pip_install/{extract_wheels => tools/lib}/arguments.py (100%) rename python/pip_install/{extract_wheels => tools/lib}/arguments_test.py (96%) rename python/pip_install/{extract_wheels => tools/lib}/bazel.py (100%) create mode 100644 python/pip_install/tools/lock_file_generator/BUILD.bazel create mode 100644 python/pip_install/tools/lock_file_generator/__init__.py rename python/pip_install/{extract_wheels/parse_requirements_to_bzl.py => tools/lock_file_generator/lock_file_generator.py} (99%) rename python/pip_install/{extract_wheels/parse_requirements_to_bzl_test.py => tools/lock_file_generator/lock_file_generator_test.py} (93%) create mode 100644 python/pip_install/tools/wheel_installer/BUILD.bazel rename python/pip_install/{extract_wheels => tools/wheel_installer}/namespace_pkgs.py (100%) rename python/pip_install/{extract_wheels => tools/wheel_installer}/namespace_pkgs_test.py (98%) rename python/pip_install/{extract_wheels => tools/wheel_installer}/wheel.py (100%) rename python/pip_install/{extract_wheels => tools/wheel_installer}/wheel_installer.py (99%) rename python/pip_install/{extract_wheels => tools/wheel_installer}/wheel_installer_test.py (97%) diff --git a/python/extensions.bzl b/python/extensions.bzl index 4699cdd84a..8b4fc0b7b4 100644 --- a/python/extensions.bzl +++ b/python/extensions.bzl @@ -78,7 +78,7 @@ def _pip_impl(module_ctx): environment = attr.environment, ) -# Keep in sync with python/pip_install/extract_wheels/bazel.py +# Keep in sync with python/pip_install/tools/bazel.py def _sanitize_name(name): return name.replace("-", "_").replace(".", "_").lower() diff --git a/python/pip_install/BUILD.bazel b/python/pip_install/BUILD.bazel index 9fbc8e8289..451e7fab70 100644 --- a/python/pip_install/BUILD.bazel +++ b/python/pip_install/BUILD.bazel @@ -1,11 +1,11 @@ -exports_files(["pip_compile.py"]) - filegroup( name = "distribution", srcs = glob(["*.bzl"]) + [ "BUILD.bazel", - "pip_compile.py", - "//python/pip_install/extract_wheels:distribution", + "//python/pip_install/tools/dependency_resolver:distribution", + "//python/pip_install/tools/lib:distribution", + "//python/pip_install/tools/lock_file_generator:distribution", + "//python/pip_install/tools/wheel_installer:distribution", "//python/pip_install/private:distribution", ], visibility = ["//:__pkg__"], @@ -22,7 +22,10 @@ filegroup( filegroup( name = "py_srcs", srcs = [ - "//python/pip_install/extract_wheels:py_srcs", + "//python/pip_install/tools/dependency_resolver:py_srcs", + "//python/pip_install/tools/lib:py_srcs", + "//python/pip_install/tools/lock_file_generator:py_srcs", + "//python/pip_install/tools/wheel_installer:py_srcs", ], visibility = ["//python/pip_install/private:__pkg__"], ) diff --git a/python/pip_install/pip_repository.bzl b/python/pip_install/pip_repository.bzl index 9c233441ee..ec9ccd9a23 100644 --- a/python/pip_install/pip_repository.bzl +++ b/python/pip_install/pip_repository.bzl @@ -303,7 +303,7 @@ def _pip_repository_impl(rctx): args = [ python_interpreter, "-m", - "python.pip_install.extract_wheels.parse_requirements_to_bzl", + "python.pip_install.tools.lock_file_generator.lock_file_generator", "--requirements_lock", rctx.path(requirements_txt), "--requirements_lock_label", @@ -522,7 +522,7 @@ def _whl_library_impl(rctx): args = [ python_interpreter, "-m", - "python.pip_install.extract_wheels.wheel_installer", + "python.pip_install.tools.wheel_installer.wheel_installer", "--requirement", rctx.attr.requirement, "--repo", diff --git a/python/pip_install/private/pip_install_utils.bzl b/python/pip_install/private/pip_install_utils.bzl index 038ee0e8c8..aaf1600d6d 100644 --- a/python/pip_install/private/pip_install_utils.bzl +++ b/python/pip_install/private/pip_install_utils.bzl @@ -1,9 +1,9 @@ """Utilities for `rules_python` pip rules""" _SRCS_TEMPLATE = """\ -\"\"\"A generate file containing all source files used for `@rules_python//python/pip_install:pip_repository.bzl` rules +\"\"\"A generated file containing all source files used for `@rules_python//python/pip_install:pip_repository.bzl` rules -This file is auto-generated from the `@rules_python//python/pip_install/private:srcs_module.install` target. Please +This file is auto-generated from the `@rules_python//python/pip_install/private:srcs_module.update` target. Please `bazel run` this target to apply any updates. Note that doing so will discard any local modifications. "\"\" diff --git a/python/pip_install/private/srcs.bzl b/python/pip_install/private/srcs.bzl index 89bd55d43c..bfe740a392 100644 --- a/python/pip_install/private/srcs.bzl +++ b/python/pip_install/private/srcs.bzl @@ -1,4 +1,4 @@ -"""A generate file containing all source files used for `@rules_python//python/pip_install:pip_repository.bzl` rules +"""A generated file containing all source files used for `@rules_python//python/pip_install:pip_repository.bzl` rules This file is auto-generated from the `@rules_python//python/pip_install/private:srcs_module.install` target. Please `bazel run` this target to apply any updates. Note that doing so will discard any local modifications. @@ -7,12 +7,15 @@ This file is auto-generated from the `@rules_python//python/pip_install/private: # Each source file is tracked as a target so `pip_repository` rules will know to automatically rebuild if any of the # sources changed. PIP_INSTALL_PY_SRCS = [ - "@rules_python//python/pip_install/extract_wheels:__init__.py", - "@rules_python//python/pip_install/extract_wheels:annotation.py", - "@rules_python//python/pip_install/extract_wheels:arguments.py", - "@rules_python//python/pip_install/extract_wheels:bazel.py", - "@rules_python//python/pip_install/extract_wheels:namespace_pkgs.py", - "@rules_python//python/pip_install/extract_wheels:parse_requirements_to_bzl.py", - "@rules_python//python/pip_install/extract_wheels:wheel.py", - "@rules_python//python/pip_install/extract_wheels:wheel_installer.py", + "@rules_python//python/pip_install/tools/dependency_resolver:__init__.py", + "@rules_python//python/pip_install/tools/dependency_resolver:dependency_resolver.py", + "@rules_python//python/pip_install/tools/lib:__init__.py", + "@rules_python//python/pip_install/tools/lib:annotation.py", + "@rules_python//python/pip_install/tools/lib:arguments.py", + "@rules_python//python/pip_install/tools/lib:bazel.py", + "@rules_python//python/pip_install/tools/lock_file_generator:__init__.py", + "@rules_python//python/pip_install/tools/lock_file_generator:lock_file_generator.py", + "@rules_python//python/pip_install/tools/wheel_installer:namespace_pkgs.py", + "@rules_python//python/pip_install/tools/wheel_installer:wheel.py", + "@rules_python//python/pip_install/tools/wheel_installer:wheel_installer.py", ] diff --git a/python/pip_install/repositories.bzl b/python/pip_install/repositories.bzl index 845da49981..5ce427dc8e 100644 --- a/python/pip_install/repositories.bzl +++ b/python/pip_install/repositories.bzl @@ -89,7 +89,7 @@ py_library( srcs = glob(["**/*.py"]), data = glob(["**/*"], exclude=[ # These entries include those put into user-installed dependencies by - # data_exclude in /python/pip_install/extract_wheels/bazel.py + # data_exclude in /python/pip_install/tools/bazel.py # to avoid non-determinism following pip install's behavior. "**/*.py", "**/*.pyc", diff --git a/python/pip_install/requirements.bzl b/python/pip_install/requirements.bzl index 7e248f625f..043edd49c3 100644 --- a/python/pip_install/requirements.bzl +++ b/python/pip_install/requirements.bzl @@ -57,7 +57,7 @@ def compile_pip_requirements( # Use the Label constructor so this is expanded in the context of the file # where it appears, which is to say, in @rules_python - pip_compile = Label("//python/pip_install:pip_compile.py") + pip_compile = Label("//python/pip_install/tools/dependency_resolver:dependency_resolver.py") loc = "$(rootpath {})" diff --git a/python/pip_install/tools/dependency_resolver/BUILD.bazel b/python/pip_install/tools/dependency_resolver/BUILD.bazel new file mode 100644 index 0000000000..c2cfb39509 --- /dev/null +++ b/python/pip_install/tools/dependency_resolver/BUILD.bazel @@ -0,0 +1,19 @@ +exports_files(["dependency_resolver.py"]) + +filegroup( + name = "distribution", + srcs = glob( + ["*"], + exclude = ["*_test.py"], + ), + visibility = ["//python/pip_install:__subpackages__"], +) + +filegroup( + name = "py_srcs", + srcs = glob( + include = ["**/*.py"], + exclude = ["**/*_test.py"], + ), + visibility = ["//python/pip_install:__subpackages__"], +) diff --git a/python/pip_install/extract_wheels/__init__.py b/python/pip_install/tools/dependency_resolver/__init__.py similarity index 100% rename from python/pip_install/extract_wheels/__init__.py rename to python/pip_install/tools/dependency_resolver/__init__.py diff --git a/python/pip_install/pip_compile.py b/python/pip_install/tools/dependency_resolver/dependency_resolver.py similarity index 100% rename from python/pip_install/pip_compile.py rename to python/pip_install/tools/dependency_resolver/dependency_resolver.py diff --git a/python/pip_install/extract_wheels/BUILD.bazel b/python/pip_install/tools/lib/BUILD.bazel similarity index 60% rename from python/pip_install/extract_wheels/BUILD.bazel rename to python/pip_install/tools/lib/BUILD.bazel index 1cf7e2e1fa..c7daec48a1 100644 --- a/python/pip_install/extract_wheels/BUILD.bazel +++ b/python/pip_install/tools/lib/BUILD.bazel @@ -1,5 +1,4 @@ -load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_test") -load("//python/pip_install:repositories.bzl", "requirement") +load("@rules_python//python:defs.bzl", "py_library", "py_test") load(":annotations_test_helpers.bzl", "package_annotation", "package_annotations_file") py_library( @@ -8,31 +7,8 @@ py_library( "annotation.py", "arguments.py", "bazel.py", - "namespace_pkgs.py", - "parse_requirements_to_bzl.py", - "wheel.py", - "wheel_installer.py", ], - deps = [ - requirement("installer"), - requirement("setuptools"), - ], -) - -py_binary( - name = "wheel_installer", - srcs = [ - "wheel_installer.py", - ], - deps = [":lib"], -) - -py_binary( - name = "parse_requirements_to_bzl", - srcs = [ - "parse_requirements_to_bzl.py", - ], - deps = [":lib"], + visibility = ["//python/pip_install:__subpackages__"], ) package_annotations_file( @@ -77,31 +53,6 @@ py_test( ], ) -py_test( - name = "namespace_pkgs_test", - size = "small", - srcs = [ - "namespace_pkgs_test.py", - ], - tags = ["unit"], - deps = [ - ":lib", - ], -) - -py_test( - name = "wheel_installer_test", - size = "small", - srcs = [ - "wheel_installer_test.py", - ], - data = ["//examples/wheel:minimal_with_py_package"], - tags = ["unit"], - deps = [ - ":lib", - ], -) - py_test( name = "arguments_test", size = "small", @@ -114,18 +65,6 @@ py_test( ], ) -py_test( - name = "parse_requirements_to_bzl_test", - size = "small", - srcs = [ - "parse_requirements_to_bzl_test.py", - ], - tags = ["unit"], - deps = [ - ":lib", - ], -) - filegroup( name = "distribution", srcs = glob( diff --git a/python/pip_install/tools/lib/__init__.py b/python/pip_install/tools/lib/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/python/pip_install/extract_wheels/annotation.py b/python/pip_install/tools/lib/annotation.py similarity index 100% rename from python/pip_install/extract_wheels/annotation.py rename to python/pip_install/tools/lib/annotation.py diff --git a/python/pip_install/extract_wheels/annotations_test.py b/python/pip_install/tools/lib/annotations_test.py similarity index 97% rename from python/pip_install/extract_wheels/annotations_test.py rename to python/pip_install/tools/lib/annotations_test.py index 0c41bf70a4..e181c6d93e 100644 --- a/python/pip_install/extract_wheels/annotations_test.py +++ b/python/pip_install/tools/lib/annotations_test.py @@ -5,7 +5,7 @@ import unittest from pathlib import Path -from python.pip_install.extract_wheels.annotation import Annotation, AnnotationsMap +from python.pip_install.tools.lib.annotation import Annotation, AnnotationsMap from python.runfiles import runfiles diff --git a/python/pip_install/extract_wheels/annotations_test_helpers.bzl b/python/pip_install/tools/lib/annotations_test_helpers.bzl similarity index 97% rename from python/pip_install/extract_wheels/annotations_test_helpers.bzl rename to python/pip_install/tools/lib/annotations_test_helpers.bzl index dbd1124670..cef9aebaed 100644 --- a/python/pip_install/extract_wheels/annotations_test_helpers.bzl +++ b/python/pip_install/tools/lib/annotations_test_helpers.bzl @@ -1,4 +1,4 @@ -"""Helper macros and rules for testing the `annotations` module of `extract_wheels`""" +"""Helper macros and rules for testing the `annotations` module of `tools`""" load("//python:pip.bzl", _package_annotation = "package_annotation") diff --git a/python/pip_install/extract_wheels/arguments.py b/python/pip_install/tools/lib/arguments.py similarity index 100% rename from python/pip_install/extract_wheels/arguments.py rename to python/pip_install/tools/lib/arguments.py diff --git a/python/pip_install/extract_wheels/arguments_test.py b/python/pip_install/tools/lib/arguments_test.py similarity index 96% rename from python/pip_install/extract_wheels/arguments_test.py rename to python/pip_install/tools/lib/arguments_test.py index 8a3aec7a37..8c546baee5 100644 --- a/python/pip_install/extract_wheels/arguments_test.py +++ b/python/pip_install/tools/lib/arguments_test.py @@ -2,7 +2,7 @@ import json import unittest -from python.pip_install.extract_wheels import arguments +from python.pip_install.tools.lib import arguments class ArgumentsTestCase(unittest.TestCase): diff --git a/python/pip_install/extract_wheels/bazel.py b/python/pip_install/tools/lib/bazel.py similarity index 100% rename from python/pip_install/extract_wheels/bazel.py rename to python/pip_install/tools/lib/bazel.py diff --git a/python/pip_install/tools/lock_file_generator/BUILD.bazel b/python/pip_install/tools/lock_file_generator/BUILD.bazel new file mode 100644 index 0000000000..8b50f1ce12 --- /dev/null +++ b/python/pip_install/tools/lock_file_generator/BUILD.bazel @@ -0,0 +1,51 @@ +load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_test") +load("//python/pip_install:repositories.bzl", "requirement") + +py_library( + name = "lib", + srcs = [ + "lock_file_generator.py", + ], + deps = [ + "//python/pip_install/tools/lib", + requirement("pip"), + ], +) + +py_binary( + name = "lock_file_generator", + srcs = [ + "lock_file_generator.py", + ], + deps = [":lib"], +) + +py_test( + name = "lock_file_generator_test", + size = "small", + srcs = [ + "lock_file_generator_test.py", + ], + tags = ["unit"], + deps = [ + ":lib", + ], +) + +filegroup( + name = "distribution", + srcs = glob( + ["*"], + exclude = ["*_test.py"], + ), + visibility = ["//python/pip_install:__subpackages__"], +) + +filegroup( + name = "py_srcs", + srcs = glob( + include = ["**/*.py"], + exclude = ["**/*_test.py"], + ), + visibility = ["//python/pip_install:__subpackages__"], +) diff --git a/python/pip_install/tools/lock_file_generator/__init__.py b/python/pip_install/tools/lock_file_generator/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/python/pip_install/extract_wheels/parse_requirements_to_bzl.py b/python/pip_install/tools/lock_file_generator/lock_file_generator.py similarity index 99% rename from python/pip_install/extract_wheels/parse_requirements_to_bzl.py rename to python/pip_install/tools/lock_file_generator/lock_file_generator.py index 686a57d8b2..18136bfbe5 100644 --- a/python/pip_install/extract_wheels/parse_requirements_to_bzl.py +++ b/python/pip_install/tools/lock_file_generator/lock_file_generator.py @@ -16,7 +16,7 @@ ) from pip._internal.req.req_install import InstallRequirement -from python.pip_install.extract_wheels import annotation, arguments, bazel +from python.pip_install.tools.lib import annotation, arguments, bazel def parse_install_requirements( diff --git a/python/pip_install/extract_wheels/parse_requirements_to_bzl_test.py b/python/pip_install/tools/lock_file_generator/lock_file_generator_test.py similarity index 93% rename from python/pip_install/extract_wheels/parse_requirements_to_bzl_test.py rename to python/pip_install/tools/lock_file_generator/lock_file_generator_test.py index c4879f65c1..0e36f6b0db 100644 --- a/python/pip_install/extract_wheels/parse_requirements_to_bzl_test.py +++ b/python/pip_install/tools/lock_file_generator/lock_file_generator_test.py @@ -7,11 +7,7 @@ from pip._internal.req.req_install import InstallRequirement -from python.pip_install.extract_wheels.parse_requirements_to_bzl import ( - generate_parsed_requirements_contents, - parse_install_requirements, - parse_whl_library_args, -) +from python.pip_install.tools.lock_file_generator import lock_file_generator class TestParseRequirementsToBzl(unittest.TestCase): @@ -36,8 +32,8 @@ def test_generated_requirements_bzl(self) -> None: args.python_interpreter = "/custom/python3" args.python_interpreter_target = "@custom_python//:exec" args.environment = json.dumps({"arg": {}}) - whl_library_args = parse_whl_library_args(args) - contents = generate_parsed_requirements_contents( + whl_library_args = lock_file_generator.parse_whl_library_args(args) + contents = lock_file_generator.generate_parsed_requirements_contents( requirements_lock=args.requirements_lock, repo=args.repo, repo_prefix=args.repo_prefix, @@ -96,7 +92,7 @@ def test_parse_install_requirements_with_args(self): ) ) - install_req_and_lines = parse_install_requirements( + install_req_and_lines = lock_file_generator.parse_install_requirements( str(requirements_lock), ["-v"] ) @@ -134,7 +130,7 @@ def test_parse_install_requirements_pinned_direct_reference(self): ) ) - install_req_and_lines = parse_install_requirements( + install_req_and_lines = lock_file_generator.parse_install_requirements( str(requirements_lock), ["-v"] ) diff --git a/python/pip_install/tools/wheel_installer/BUILD.bazel b/python/pip_install/tools/wheel_installer/BUILD.bazel new file mode 100644 index 0000000000..ba702158fb --- /dev/null +++ b/python/pip_install/tools/wheel_installer/BUILD.bazel @@ -0,0 +1,68 @@ +load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_test") +load("//python/pip_install:repositories.bzl", "requirement") + +py_library( + name = "lib", + srcs = [ + "namespace_pkgs.py", + "wheel.py", + "wheel_installer.py", + ], + deps = [ + "//python/pip_install/tools/lib", + requirement("installer"), + requirement("pip"), + requirement("setuptools"), + ], +) + +py_binary( + name = "wheel_installer", + srcs = [ + "wheel_installer.py", + ], + deps = [":lib"], +) + +py_test( + name = "namespace_pkgs_test", + size = "small", + srcs = [ + "namespace_pkgs_test.py", + ], + tags = ["unit"], + deps = [ + ":lib", + ], +) + +py_test( + name = "wheel_installer_test", + size = "small", + srcs = [ + "wheel_installer_test.py", + ], + data = ["//examples/wheel:minimal_with_py_package"], + tags = ["unit"], + deps = [ + ":lib", + ], +) + +filegroup( + name = "distribution", + srcs = glob( + ["*"], + exclude = ["*_test.py"], + ), + visibility = ["//python/pip_install:__subpackages__"], +) + +filegroup( + name = "py_srcs", + srcs = glob( + include = ["**/*.py"], + exclude = ["**/*_test.py"], + ), + visibility = ["//python/pip_install:__subpackages__"], +) diff --git a/python/pip_install/extract_wheels/namespace_pkgs.py b/python/pip_install/tools/wheel_installer/namespace_pkgs.py similarity index 100% rename from python/pip_install/extract_wheels/namespace_pkgs.py rename to python/pip_install/tools/wheel_installer/namespace_pkgs.py diff --git a/python/pip_install/extract_wheels/namespace_pkgs_test.py b/python/pip_install/tools/wheel_installer/namespace_pkgs_test.py similarity index 98% rename from python/pip_install/extract_wheels/namespace_pkgs_test.py rename to python/pip_install/tools/wheel_installer/namespace_pkgs_test.py index 8a9d97ca39..5ac3390338 100644 --- a/python/pip_install/extract_wheels/namespace_pkgs_test.py +++ b/python/pip_install/tools/wheel_installer/namespace_pkgs_test.py @@ -5,7 +5,7 @@ import unittest from typing import Optional, Set -from python.pip_install.extract_wheels import namespace_pkgs +from python.pip_install.tools.wheel_installer import namespace_pkgs class TempDir: diff --git a/python/pip_install/extract_wheels/wheel.py b/python/pip_install/tools/wheel_installer/wheel.py similarity index 100% rename from python/pip_install/extract_wheels/wheel.py rename to python/pip_install/tools/wheel_installer/wheel.py diff --git a/python/pip_install/extract_wheels/wheel_installer.py b/python/pip_install/tools/wheel_installer/wheel_installer.py similarity index 99% rename from python/pip_install/extract_wheels/wheel_installer.py rename to python/pip_install/tools/wheel_installer/wheel_installer.py index 87fe1fd9a2..d525da8077 100644 --- a/python/pip_install/extract_wheels/wheel_installer.py +++ b/python/pip_install/tools/wheel_installer/wheel_installer.py @@ -14,13 +14,8 @@ from pip._vendor.packaging.utils import canonicalize_name -from python.pip_install.extract_wheels import ( - annotation, - arguments, - bazel, - namespace_pkgs, - wheel, -) +from python.pip_install.tools.lib import annotation, arguments, bazel +from python.pip_install.tools.wheel_installer import namespace_pkgs, wheel def _configure_reproducible_wheels() -> None: diff --git a/python/pip_install/extract_wheels/wheel_installer_test.py b/python/pip_install/tools/wheel_installer/wheel_installer_test.py similarity index 97% rename from python/pip_install/extract_wheels/wheel_installer_test.py rename to python/pip_install/tools/wheel_installer/wheel_installer_test.py index ff667d7280..878867f51e 100644 --- a/python/pip_install/extract_wheels/wheel_installer_test.py +++ b/python/pip_install/tools/wheel_installer/wheel_installer_test.py @@ -4,7 +4,7 @@ import unittest from pathlib import Path -from python.pip_install.extract_wheels import wheel_installer +from python.pip_install.tools.wheel_installer import wheel_installer class TestRequirementExtrasParsing(unittest.TestCase): From 629f18dfe9b970f3ddabf444210b6136ec8b6176 Mon Sep 17 00:00:00 2001 From: Greg Date: Thu, 29 Dec 2022 20:53:46 +1100 Subject: [PATCH 2/4] . --- python/pip_install/private/srcs.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/pip_install/private/srcs.bzl b/python/pip_install/private/srcs.bzl index bfe740a392..57644f612f 100644 --- a/python/pip_install/private/srcs.bzl +++ b/python/pip_install/private/srcs.bzl @@ -1,6 +1,6 @@ """A generated file containing all source files used for `@rules_python//python/pip_install:pip_repository.bzl` rules -This file is auto-generated from the `@rules_python//python/pip_install/private:srcs_module.install` target. Please +This file is auto-generated from the `@rules_python//python/pip_install/private:srcs_module.update` target. Please `bazel run` this target to apply any updates. Note that doing so will discard any local modifications. """ From 89a1bfd00d560b939fb48ed784c58710b12d1340 Mon Sep 17 00:00:00 2001 From: Greg Date: Wed, 11 Jan 2023 08:29:53 +1100 Subject: [PATCH 3/4] . --- python/pip_install/tools/lib/BUILD.bazel | 4 +--- python/pip_install/tools/lock_file_generator/BUILD.bazel | 3 +-- python/pip_install/tools/wheel_installer/BUILD.bazel | 4 +--- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/python/pip_install/tools/lib/BUILD.bazel b/python/pip_install/tools/lib/BUILD.bazel index c7daec48a1..37a8b09be2 100644 --- a/python/pip_install/tools/lib/BUILD.bazel +++ b/python/pip_install/tools/lib/BUILD.bazel @@ -1,4 +1,4 @@ -load("@rules_python//python:defs.bzl", "py_library", "py_test") +load("//python:defs.bzl", "py_library", "py_test") load(":annotations_test_helpers.bzl", "package_annotation", "package_annotations_file") py_library( @@ -46,7 +46,6 @@ py_test( srcs = ["annotations_test.py"], data = [":mock_annotations"], env = {"MOCK_ANNOTATIONS": "$(rootpath :mock_annotations)"}, - tags = ["unit"], deps = [ ":lib", "//python/runfiles", @@ -59,7 +58,6 @@ py_test( srcs = [ "arguments_test.py", ], - tags = ["unit"], deps = [ ":lib", ], diff --git a/python/pip_install/tools/lock_file_generator/BUILD.bazel b/python/pip_install/tools/lock_file_generator/BUILD.bazel index 8b50f1ce12..804f36a946 100644 --- a/python/pip_install/tools/lock_file_generator/BUILD.bazel +++ b/python/pip_install/tools/lock_file_generator/BUILD.bazel @@ -1,4 +1,4 @@ -load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_test") +load("//python:defs.bzl", "py_binary", "py_library", "py_test") load("//python/pip_install:repositories.bzl", "requirement") py_library( @@ -26,7 +26,6 @@ py_test( srcs = [ "lock_file_generator_test.py", ], - tags = ["unit"], deps = [ ":lib", ], diff --git a/python/pip_install/tools/wheel_installer/BUILD.bazel b/python/pip_install/tools/wheel_installer/BUILD.bazel index ba702158fb..54bbc46546 100644 --- a/python/pip_install/tools/wheel_installer/BUILD.bazel +++ b/python/pip_install/tools/wheel_installer/BUILD.bazel @@ -1,4 +1,4 @@ -load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_test") +load("//python:defs.bzl", "py_binary", "py_library", "py_test") load("//python/pip_install:repositories.bzl", "requirement") py_library( @@ -30,7 +30,6 @@ py_test( srcs = [ "namespace_pkgs_test.py", ], - tags = ["unit"], deps = [ ":lib", ], @@ -43,7 +42,6 @@ py_test( "wheel_installer_test.py", ], data = ["//examples/wheel:minimal_with_py_package"], - tags = ["unit"], deps = [ ":lib", ], From 1fd2302098310f0c6e45aebfcb76a3a4bca97696 Mon Sep 17 00:00:00 2001 From: Greg Date: Wed, 11 Jan 2023 08:55:27 +1100 Subject: [PATCH 4/4] . --- .pre-commit-config.yaml | 2 +- MODULE.bazel | 4 +--- examples/bzlmod/MODULE.bazel | 7 +------ 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a84d531488..9836759a79 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,7 +3,7 @@ # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/keith/pre-commit-buildifier - rev: 5.1.0.1 + rev: 6.0.0 hooks: - id: buildifier args: &args diff --git a/MODULE.bazel b/MODULE.bazel index e1be99374c..6afe365f69 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -1,15 +1,13 @@ module( name = "rules_python", - compatibility_level = 1, version = "0.0.0", + compatibility_level = 1, ) bazel_dep(name = "platforms", version = "0.0.4") internal_deps = use_extension("@rules_python//python:extensions.bzl", "internal_deps") - internal_deps.install() - use_repo( internal_deps, "pypi__build", diff --git a/examples/bzlmod/MODULE.bazel b/examples/bzlmod/MODULE.bazel index 14a338cc52..bbace8674f 100644 --- a/examples/bzlmod/MODULE.bazel +++ b/examples/bzlmod/MODULE.bazel @@ -1,23 +1,20 @@ module( name = "example_bzlmod", - compatibility_level = 1, version = "0.0.0", + compatibility_level = 1, ) bazel_dep(name = "rules_python", version = "0.0.0") - local_path_override( module_name = "rules_python", path = "../..", ) python = use_extension("@rules_python//python:extensions.bzl", "python") - python.toolchain( name = "python3_9", python_version = "3.9", ) - use_repo(python, "python3_9_toolchains") register_toolchains( @@ -25,11 +22,9 @@ register_toolchains( ) pip = use_extension("@rules_python//python:extensions.bzl", "pip") - pip.parse( name = "pip", requirements_lock = "//:requirements_lock.txt", requirements_windows = "//:requirements_windows.txt", ) - use_repo(pip, "pip")