load("@bazel_skylib//rules:write_file.bzl", "write_file") load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") load("//python:defs.bzl", "py_library", "py_test") load("//python:packaging.bzl", "py_package", "py_wheel") load("//python:pip.bzl", "whl_filegroup") load(":whl_filegroup_tests.bzl", "whl_filegroup_test_suite") whl_filegroup_test_suite(name = "whl_filegroup_tests") py_test( name = "extract_wheel_files_test", size = "small", srcs = ["extract_wheel_files_test.py"], data = ["//examples/wheel:minimal_with_py_package"], deps = ["//python/private/whl_filegroup:extract_wheel_files"], ) write_file( name = "header", out = "include/whl_headers/header.h", content = [ "#pragma once", "#include ", "#define CUSTOM_ZERO ((Py_ssize_t) 0)", ], ) write_file( name = "lib_py", out = "lib.py", ) py_library( name = "lib", srcs = ["lib.py"], data = [":header"], ) py_package( name = "pkg", deps = [":lib"], ) py_wheel( name = "wheel", distribution = "wheel", python_tag = "py3", version = "0.0.1", deps = [":pkg"], ) whl_filegroup( name = "filegroup", pattern = "tests/whl_filegroup/include/.*\\.h", whl = ":wheel", ) cc_library( name = "whl_headers", hdrs = [":filegroup"], includes = ["filegroup/tests/whl_filegroup/include"], deps = ["@rules_python//python/cc:current_py_cc_headers"], ) cc_test( name = "whl_headers_test", srcs = ["whl_headers_test.c"], deps = [":whl_headers"], )