This repo's name is a misnomer. It currently serves as a development repo for a sensor fusion framework.
Meant to serve as an example of a typical multi-language Zenoh project and to demonstrate we can configure basic CI functionality.
Install Bazel and Bazelisk by following the instructions on the Bazel website.
Then run:
bazelisk build //...
# In separate windows, tmux panes, etc:
bazelisk run //rust_nodes/pub_test:pub
bazelisk run //rust_nodes/sub_test:subThis project uses Bazel as a polyglot build system and Bazelisk to manage Bazel versions.
The USE_BAZEL_VERSION flag in .bazeliskrc specifies the Bazel version used when commands like bazelisk build //... are run.
Bazel is configured to ingest all Cargo.toml packages specified in /MODULE.bazel:
crate.from_cargo(
name = "crates",
manifests = ["//rust_nodes/pub_test:Cargo.toml", "//rust_nodes/sub_test:Cargo.toml"],
)When writing a new Rust package, add its Cargo.toml path to this list and collect deps using this boilerplate:
load("@crates//:defs.bzl", "all_crate_deps", "aliases")
# ...
rust_binary(
name = "<package_name>",
srcs = ["src/main.rs"],
edition = "2021",
aliases = aliases(),
deps = all_crate_deps(normal = True),
)