-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCargo.toml
More file actions
60 lines (58 loc) · 2.21 KB
/
Copy pathCargo.toml
File metadata and controls
60 lines (58 loc) · 2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
[workspace]
resolver = "2"
members = [
"crates/fretwire",
"crates/fretwire-data",
"crates/fretwire-protocol",
"crates/fretwire-usb",
"crates/fretwire-core",
"crates/fretwire-commands",
"crates/fretwire-cli",
"crates/fretwire-tauri",
"crates/fretwire-serve",
"crates/fretwire-mcp",
]
# fretwire-tauri (the GUI), fretwire-serve (the HTTP daemon) and fretwire-mcp (the MCP server) are
# members so they share the lockfile, but are kept out of the default set so plain
# `cargo build`/`cargo test` (the offline suite) don't pull the WebKitGTK/tauri, axum or MCP SDK
# dep trees — and don't require the built frontend in `crates/fretwire-tauri/dist/`, which the
# first two embed. Build/run them explicitly: `cargo run -p fretwire-tauri` /
# `cargo run -p fretwire-serve` (README: `npm run build` first) / `cargo run -p fretwire-mcp`.
default-members = [
"crates/fretwire",
"crates/fretwire-data",
"crates/fretwire-protocol",
"crates/fretwire-usb",
"crates/fretwire-core",
"crates/fretwire-commands",
"crates/fretwire-cli",
]
[workspace.package]
version = "0.5.0"
edition = "2024"
license = "MIT OR Apache-2.0"
repository = "https://github.com/john-baxter-dev/fretwire"
homepage = "https://fretwire.org"
rust-version = "1.96"
[workspace.dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
rmpv = "1"
anyhow = "1"
thiserror = "2"
# USB transport (pure-Rust libusb-free). Pinned loosely; verify latest at first build.
nusb = "0.1"
futures-lite = "2"
# Cancellable timeouts for bulk transfers (nusb 0.1 has no bulk timeout).
futures-timer = "3"
# `spawn_blocking` for the command layer; consumers pick their own runtime features.
tokio = "1"
base64 = "0.22"
# zlib inflate for the `.hxb` backup container (pure-Rust miniz_oxide backend).
flate2 = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# CLI argument parsing. The derive API keeps `--help` generated from the command definitions
# rather than hand-maintained (it had already drifted), and makes a bad numeric argument an error
# instead of a silent default — which on `save`/`rename` meant writing to the wrong setlist.
clap = { version = "4", features = ["derive"] }