workspace: scaffold + three stub crates (sip/tap/spend)
Workspace root, pinned toolchain, and the three stub crates whose only job in slice 1 is to lock the ADR-0002 boundary shape. Each ships a lib.rs module doc (what it will hold, why deferred, which spearhead step fills it) and a crate_compiles test. Spec §2.2.
This commit is contained in:
41
Cargo.toml
Normal file
41
Cargo.toml
Normal file
@@ -0,0 +1,41 @@
|
||||
# Cargo.toml — rutster workspace root.
|
||||
# Spec ref: slice-1 §2. The workspace pins shared dep versions here so
|
||||
# member crates can't drift (§2.1). Each member references with
|
||||
# `dep.workspace = true`.
|
||||
[workspace]
|
||||
resolver = "2"
|
||||
members = [
|
||||
"crates/rutster-signaling-sip",
|
||||
"crates/rutster-tap",
|
||||
"crates/rutster-spend",
|
||||
]
|
||||
|
||||
[workspace.package]
|
||||
license = "GPL-3.0-or-later"
|
||||
edition = "2021"
|
||||
repository = "https://github.com/anomalyco/rutster"
|
||||
|
||||
# Pinned versions for all member crates. References are `foo.workspace = true`
|
||||
# in the member manifest. Keeps the dep tree unified (§2.1).
|
||||
[workspace.dependencies]
|
||||
# str0m 0.21: sans-IO WebRTC. Frame API (Event::MediaData + Writer::write).
|
||||
str0m = "0.21"
|
||||
# opus 0.3.1: libopus FFI (system libopus required — see README).
|
||||
opus = "0.3"
|
||||
# axum 0.7: HTTP signaling surface.
|
||||
axum = { version = "0.7", features = ["macros"] }
|
||||
# tokio 1: runtime driving the str0m poll loop (slice-1 deviation per §3.4).
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
# dashmap 6: in-process session store.
|
||||
dashmap = "6"
|
||||
# uuid 1: ChannelId newtype backing.
|
||||
uuid = { version = "1", features = ["v4"] }
|
||||
thiserror = "1"
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
# tower: used by the binary crate's integration tests (ServiceExt::oneshot
|
||||
# on the axum Router). Axum re-exports parts of tower but the integration test
|
||||
# uses `tower::ServiceExt` directly, so it needs to be a workspace dep.
|
||||
tower = { version = "0.5", features = ["util"] }
|
||||
Reference in New Issue
Block a user