load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test", "rust_doc", "rust_shared_library", "rust_static_library")
load("@rules_python//python:defs.bzl", "py_binary")
package(default_visibility = ["//visibility:public"])
exports_files(["Cargo.toml"])
rust_library(
name = "dv_rs",
srcs = ["src/lib.rs", "src/units.rs"],
compile_data = ["DOCS.md"],
edition = "2021",
)
rust_doc(
name = "docs",
crate = ":dv_rs",
)
py_binary(
name = "serve_docs",
srcs = ["serve_docs.py"],
data = [":docs"],
)
rust_test(
name = "unit_tests",
crate = ":dv_rs",
deps = [":dv_rs"],
)
rust_test(
name = "units_tests",
srcs = ["tests/units_tests.rs"],
deps = [":dv_rs"],
)
rust_test(
name = "operator_tests",
srcs = ["tests/operator_tests.rs"],
deps = [":dv_rs"],
)
test_suite(
name = "integration_tests",
tests = [
":units_tests",
":operator_tests",
],
)
filegroup(
name = "rust_sources",
srcs = glob(["**/*.rs", "**/*.toml", "**/*.md"]),
visibility = ["//python:__pkg__"],
)