blob: d8b711d120a01290051b4bb808ef99cb19ea6195 [file] [log] [blame]
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 <Python.h>",
"#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"],
)