libchat/Cargo.toml

68 lines
2.2 KiB
TOML
Raw Normal View History

2025-12-22 09:40:46 -08:00
[workspace]
resolver = "3"
2026-01-15 08:47:02 +08:00
2025-12-22 09:40:46 -08:00
members = [
"bin/channel-chat",
"bin/chat-cli",
2026-05-20 14:11:02 -07:00
"core/account",
"core/conversations",
"core/crypto",
"core/double-ratchets",
"core/integration_tests_core",
"core/shared-traits",
"core/sqlite",
"core/storage",
"crates/logos-chat",
"crates/generic-chat",
"extensions/components",
"extensions/embedded-logos-delivery",
]
# A path dependency living inside the workspace directory is otherwise pulled in
# as a member automatically, which would put the vendored bindings — and the
# whole Nim build behind them — into `--workspace` builds, `cargo fmt --all` and
# clippy. Excluding the directory keeps it a plain path dependency: only the
# crates that actually depend on it build it.
exclude = ["vendor/logos-delivery-rust-bindings"]
default-members = [
2026-05-20 14:11:02 -07:00
"core/account",
"core/conversations",
"core/crypto",
"core/double-ratchets",
"core/integration_tests_core",
"core/shared-traits",
2026-05-20 14:11:02 -07:00
"core/sqlite",
"core/storage",
"crates/generic-chat",
2025-12-22 09:40:46 -08:00
]
[workspace.dependencies]
# Internal Workspace dependency declarations (sorted)
logos-account = { path = "core/account" }
chat-sqlite = { path = "core/sqlite" }
components = { path = "extensions/components" }
crypto = { path = "core/crypto" }
embedded-logos-delivery = { path = "extensions/embedded-logos-delivery" }
libchat = { path = "core/conversations" }
logos-chat = { path = "crates/logos-chat" }
logos-generic-chat = { path = "crates/generic-chat" }
shared-traits = { path = "core/shared-traits" }
storage = { path = "core/storage" }
# The upstream logos-delivery bindings. Unpublished, and its build.rs builds the
# native library out of its own `vendor/` submodule, so it is consumed from the
# checkout under vendor/ rather than from a registry — as its README prescribes.
waku-bindings = { path = "vendor/logos-delivery-rust-bindings/waku-bindings" }
# External Workspace dependency declarations (sorted)
base64 = "0.22"
blake2 = "0.10"
crossbeam-channel = "0.5"
# Panicking across FFI boundaries is UB; chat-cli registers Rust callbacks
# that liblogosdelivery invokes, so abort instead of unwinding.
[profile.release]
panic = "abort"