From 9805e47070c558d05162c3b3032d9dcab5ea3715 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sat, 29 Jun 2024 21:39:24 +0200 Subject: [PATCH] Switch numpy headers to whl_filegroup --- BUILD.bazel | 17 ++++++++++++++++- WORKSPACE | 2 -- examples/WORKSPACE | 2 -- repositories/BUILD.bazel | 3 --- repositories/pip_annotations.bzl | 14 -------------- ros2/interfaces.bzl | 2 +- 6 files changed, 17 insertions(+), 23 deletions(-) delete mode 100644 repositories/pip_annotations.bzl diff --git a/BUILD.bazel b/BUILD.bazel index a89ad7df..efcdf964 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,4 +1,5 @@ -load("@rules_python//python:pip.bzl", "compile_pip_requirements") +load("@rules_cc//cc:defs.bzl", "cc_library") +load("@rules_python//python:pip.bzl", "compile_pip_requirements", "whl_filegroup") compile_pip_requirements( name = "python_requirements", @@ -12,3 +13,17 @@ exports_files([ "requirements.txt", "requirements_lock.txt", ]) + +whl_filegroup( + name = "numpy_includes", + pattern = "numpy/core/include/numpy", + whl = "@rules_ros2_pip_deps//numpy:whl", +) + +cc_library( + name = "rules_ros2_pip_deps_numpy_headers", + hdrs = [":numpy_includes"], + includes = ["numpy_includes/numpy/core/include"], + visibility = ["//visibility:public"], + deps = ["@rules_python//python/cc:current_py_cc_headers"], +) diff --git a/WORKSPACE b/WORKSPACE index 1493b660..74216d8d 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -21,11 +21,9 @@ python_register_toolchains( load("@rules_python//python:pip.bzl", "pip_parse") load("@rules_ros2_python//:defs.bzl", python_interpreter_target = "interpreter") -load("//repositories:pip_annotations.bzl", "PIP_ANNOTATIONS") pip_parse( name = "rules_ros2_pip_deps", - annotations = PIP_ANNOTATIONS, python_interpreter_target = python_interpreter_target, requirements_lock = "@com_github_mvukov_rules_ros2//:requirements_lock.txt", ) diff --git a/examples/WORKSPACE b/examples/WORKSPACE index b290b71e..079cdbe7 100644 --- a/examples/WORKSPACE +++ b/examples/WORKSPACE @@ -35,13 +35,11 @@ python_register_toolchains( python_version = "3.10", ) -load("@com_github_mvukov_rules_ros2//repositories:pip_annotations.bzl", "PIP_ANNOTATIONS") load("@rules_python//python:pip.bzl", "pip_parse") load("@rules_ros2_python//:defs.bzl", python_interpreter_target = "interpreter") pip_parse( name = "rules_ros2_pip_deps", - annotations = PIP_ANNOTATIONS, python_interpreter_target = python_interpreter_target, requirements_lock = "@com_github_mvukov_rules_ros2//:requirements_lock.txt", ) diff --git a/repositories/BUILD.bazel b/repositories/BUILD.bazel index 8605492b..43f7e0a8 100644 --- a/repositories/BUILD.bazel +++ b/repositories/BUILD.bazel @@ -1,12 +1,9 @@ -load("@rules_python//python:defs.bzl", "py_binary") - exports_files([ "deps.bzl", "logging_macros.bzl", "generate_rclcpp_interface.py", "generate_rclcpp_logging_macros.py", "generate_rcutils_logging_macros.py", - "pip_annotations.bzl", "rclcpp_interfaces.bzl", "repositories.bzl", "ros2_repo_mappings.yaml", diff --git a/repositories/pip_annotations.bzl b/repositories/pip_annotations.bzl deleted file mode 100644 index 980a3b1b..00000000 --- a/repositories/pip_annotations.bzl +++ /dev/null @@ -1,14 +0,0 @@ -load("@rules_python//python:pip.bzl", "package_annotation") - -PIP_ANNOTATIONS = { - "numpy": package_annotation( - additive_build_content = """\ -cc_library( - name = "headers", - hdrs = glob(["site-packages/numpy/core/include/numpy/**/*.h"]), - includes = ["site-packages/numpy/core/include"], - deps = ["@rules_python//python/cc:current_py_cc_headers"], -) -""", - ), -} diff --git a/ros2/interfaces.bzl b/ros2/interfaces.bzl index 571d9871..6cfef66b 100644 --- a/ros2/interfaces.bzl +++ b/ros2/interfaces.bzl @@ -824,7 +824,7 @@ py_generator_aspect = aspect( "_py_ext_c_deps": attr.label_list( default = [ Label("@rules_python//python/cc:current_py_cc_headers"), - Label("@rules_ros2_pip_deps_numpy//:headers"), + Label("@com_github_mvukov_rules_ros2//:rules_ros2_pip_deps_numpy_headers"), ], providers = [CcInfo], ),