diff --git a/WORKSPACE b/WORKSPACE index c4f0148c..0d79e0f1 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 24f43a6d..8df584a2 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/BUILD.bazel b/ros2/BUILD.bazel index f0756bd3..8d1df61b 100644 --- a/ros2/BUILD.bazel +++ b/ros2/BUILD.bazel @@ -1,7 +1,9 @@ """ ROS 2 common definitions. """ +load("@rules_cc//cc:defs.bzl", "cc_library") load("@rules_python//python:defs.bzl", "py_binary", "py_library") +load("@rules_python//python:pip.bzl", "whl_filegroup") exports_files([ "ament.bzl", @@ -65,3 +67,17 @@ py_binary( "@ros2cli//:ros2lifecycle", ], ) + +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/ros2/interfaces.bzl b/ros2/interfaces.bzl index 602e015c..1ff2558f 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//ros2:rules_ros2_pip_deps_numpy_headers"), ], providers = [CcInfo], ),