From 5f65e16df147c010ce88d029c12f6a8581903068 Mon Sep 17 00:00:00 2001 From: Ignas Anikevicius <240938+aignas@users.noreply.github.com> Date: Thu, 21 Dec 2023 09:56:55 +0900 Subject: [PATCH] updated the vendored requirements example --- examples/pip_parse_vendored/BUILD.bazel | 24 +++----------------- examples/pip_parse_vendored/requirements.bzl | 5 ++-- 2 files changed, 5 insertions(+), 24 deletions(-) diff --git a/examples/pip_parse_vendored/BUILD.bazel b/examples/pip_parse_vendored/BUILD.bazel index ddf3281924..b856c94525 100644 --- a/examples/pip_parse_vendored/BUILD.bazel +++ b/examples/pip_parse_vendored/BUILD.bazel @@ -9,24 +9,6 @@ compile_pip_requirements( src = "requirements.in", ) -# The requirements.bzl file is generated with a reference to the interpreter for the host platform. -# In order to check in a platform-agnostic file, we have to replace that reference with the symbol -# loaded from our python toolchain. -genrule( - name = "make_platform_agnostic", - srcs = ["@pip//:requirements.bzl"], - outs = ["requirements.clean.bzl"], - cmd = " | ".join([ - "cat $<", - # Insert our load statement after the existing one so we don't produce a file with buildifier warnings - """sed -e '/^load.*.pip.bzl/i\\'$$'\\n''load("@python39//:defs.bzl", "interpreter")'""", - # Replace the bazel 6.0.0 specific comment with something that bazel 5.4.0 would produce. - # This enables this example to be run as a test under bazel 5.4.0. - """sed -e 's#@//#//#'""", - """sed 's#"@python39_.*//:bin/python3"#interpreter#' >$@""", - ]), -) - write_file( name = "gen_update", out = "update.sh", @@ -35,14 +17,14 @@ write_file( "#!/usr/bin/env bash", # Bazel gives us a way to access the source folder! "cd $BUILD_WORKSPACE_DIRECTORY", - "cp -fv bazel-bin/requirements.clean.bzl requirements.bzl", + "cp -fv bazel-pip_parse_vendored/external/pip/requirements.bzl requirements.bzl", ], ) sh_binary( name = "vendor_requirements", srcs = ["update.sh"], - data = [":make_platform_agnostic"], + data = ["@pip//:requirements.bzl"], ) # Similarly ensures that the requirements.bzl file is updated @@ -51,5 +33,5 @@ diff_test( name = "test_vendored", failure_message = "Please run: bazel run //:vendor_requirements", file1 = "requirements.bzl", - file2 = ":make_platform_agnostic", + file2 = "@pip//:requirements.bzl", ) diff --git a/examples/pip_parse_vendored/requirements.bzl b/examples/pip_parse_vendored/requirements.bzl index adbee66caf..206f8bb65a 100644 --- a/examples/pip_parse_vendored/requirements.bzl +++ b/examples/pip_parse_vendored/requirements.bzl @@ -1,10 +1,9 @@ """Starlark representation of locked requirements. @generated by rules_python pip_parse repository rule -from //:requirements.txt +from @//:requirements.txt """ -load("@python39//:defs.bzl", "interpreter") load("@rules_python//python:pip.bzl", "pip_utils") load("@rules_python//python/pip_install:pip_repository.bzl", "group_library", "whl_library") @@ -17,7 +16,7 @@ all_whl_requirements = all_whl_requirements_by_package.values() all_data_requirements = ["@pip//certifi:data", "@pip//charset_normalizer:data", "@pip//idna:data", "@pip//requests:data", "@pip//urllib3:data"] _packages = [("pip_certifi", "certifi==2023.7.22 --hash=sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082 --hash=sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"), ("pip_charset_normalizer", "charset-normalizer==2.1.1 --hash=sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845 --hash=sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"), ("pip_idna", "idna==3.4 --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 --hash=sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"), ("pip_requests", "requests==2.28.1 --hash=sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983 --hash=sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"), ("pip_urllib3", "urllib3==1.26.13 --hash=sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc --hash=sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8")] -_config = {"download_only": False, "enable_implicit_namespace_pkgs": False, "environment": {}, "extra_pip_args": [], "isolated": True, "pip_data_exclude": [], "python_interpreter": "python3", "python_interpreter_target": interpreter, "quiet": True, "repo": "pip", "repo_prefix": "pip_", "timeout": 600} +_config = {"download_only": False, "enable_implicit_namespace_pkgs": False, "environment": {}, "extra_pip_args": [], "isolated": True, "pip_data_exclude": [], "python_interpreter": "python3", "python_interpreter_target": "@python39_host//:python", "quiet": True, "repo": "pip", "repo_prefix": "pip_", "timeout": 600} _annotations = {} def requirement(name):