load("@rules_rust//rust:defs.bzl", "rust_library", "rust_binary")
load("//bazel:proto_descriptor_set.bzl", "proto_descriptor_set")
exports_files([
"Cargo.toml",
"Cargo.lock",
".cargo/config.toml",
])
rust_library(
name = "protocrap",
srcs = glob(
["src/**/*.rs"],
exclude = ["src/main.rs", "src/codegen/**"],
),
crate_features = [
"std",
"serde_support",
],
edition = "2024",
visibility = ["//visibility:public"],
deps = [
"@crates//:allocator-api2",
"@crates//:base64",
"@crates//:futures",
"@crates//:serde",
"@crates//:time",
],
)
rust_binary(
name = "protocrap-codegen",
srcs = ["src/main.rs"] + glob(["src/codegen/*.rs"]),
crate_features = [
"std",
"codegen",
],
edition = "2024",
visibility = ["//visibility:public"],
deps = [
":protocrap",
"@crates//:allocator-api2",
"@crates//:anyhow",
"@crates//:prettyplease",
"@crates//:proc-macro2",
"@crates//:quote",
"@crates//:syn",
],
)
proto_descriptor_set(
name = "descriptor_set",
deps = [
"@protobuf//:descriptor_proto",
],
visibility = ["//visibility:public"],
)