build(bazel): add first-party Rust wrappers

This commit is contained in:
2026-09-05 20:53:24 -04:00
parent 7b5de2b702
commit 247295dfe3
4 changed files with 102 additions and 10 deletions

View File

@@ -1,6 +1,52 @@
load(
"@rules_rust//rust:defs.bzl",
_rules_rust_binary = "rust_binary",
_rules_rust_library = "rust_library",
_rules_rust_test = "rust_test",
)
load("//bazel:utils.bzl", "execute", "require_env")
def rust_module(name, src, deps = [], **kwargs):
native.filegroup(
name = name,
srcs = [src] + deps,
**kwargs
)
def rust_library(name, src, crate_name = None, modules = [], deps = [], **kwargs):
_rules_rust_library(
name = name,
crate_name = crate_name,
crate_root = src,
srcs = [src] + modules,
deps = deps,
**kwargs
)
def rust_binary(name, src, crate_name = None, deps = [], **kwargs):
_rules_rust_binary(
name = name,
crate_name = crate_name,
crate_root = src,
srcs = [src],
deps = deps,
**kwargs
)
def rust_test(name, src, deps = [], **kwargs):
_rules_rust_test(
name = name,
crate_root = src,
srcs = [src],
deps = deps,
**kwargs
)
def _rust_repository_impl(repository_ctx):
root = repository_ctx.path(require_env(repository_ctx, "RUST_TOOLCHAIN_ROOT"))
rustc = root.get_child("bin/rustc")