[workspace] resolver = "3" members = [ "bin/channel-chat", "bin/chat-cli", "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 = [ "core/account", "core/conversations", "core/crypto", "core/double-ratchets", "core/integration_tests_core", "core/shared-traits", "core/sqlite", "core/storage", "crates/generic-chat", ] [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"