| 1 | [workspace] |
| 2 | resolver = "3" |
| 3 | members = ["crates/budctl-core", "crates/budctl-cli", "crates/budctl-gui"] |
| 4 | |
| 5 | [workspace.package] |
| 6 | version = "0.1.1" |
| 7 | edition = "2024" |
| 8 | rust-version = "1.88" |
| 9 | license = "GPL-3.0-or-later" |
| 10 | publish = false |
| 11 | |
| 12 | [workspace.lints.rust] |
| 13 | # The only exception is crates/budctl-core/src/transport/socket.rs (Bluetooth socket syscalls). |
| 14 | unsafe_code = "deny" |
| 15 | |
| 16 | [workspace.lints.clippy] |
| 17 | # Bluetooth fails in many ways; every failure must become a typed error, never a panic. |
| 18 | unwrap_used = "deny" |
| 19 | expect_used = "deny" |
| 20 | panic = "deny" |
| 21 | indexing_slicing = "deny" |
| 22 | cast_possible_truncation = "deny" |
| 23 | undocumented_unsafe_blocks = "deny" |
| 24 | |
| 25 | # Release builds: the binaries the install script ships. No debug symbols, and whole-crate |
| 26 | # optimization across the dependency tree, for smaller and faster binaries. |
| 27 | [profile.release] |
| 28 | strip = true |
| 29 | lto = "thin" |