Files
firezone/rust/Cargo.toml
2024-06-14 19:58:12 -03:00

96 lines
3.4 KiB
TOML

[workspace]
members = [
"connlib/clients/android",
"connlib/clients/apple",
"connlib/clients/shared",
"connlib/shared",
"connlib/tunnel",
"connlib/snownet",
"gateway",
"firezone-cli-utils",
"headless-client",
"snownet-tests",
"phoenix-channel",
"relay",
"gui-client/src-tauri",
"http-health-check",
"http-test-server",
"ip-packet",
]
resolver = "2"
[workspace.dependencies]
boringtun = { version = "0.6", default-features = false }
chrono = { version = "0.4", default-features = false, features = ["std", "clock", "oldtime", "serde"] }
swift-bridge = "0.1.55"
backoff = { version = "0.4", features = ["tokio"] }
tracing = { version = "0.1.40" }
tracing-subscriber = { version = "0.3.17", features = ["parking_lot"] }
secrecy = "0.8"
hickory-resolver = { git = "https://github.com/hickory-dns/hickory-dns", rev = "a3669bd80f3f7b97f0c301c15f1cba6368d97b63", features = ["tokio-runtime"] }
hickory-proto = { git = "https://github.com/hickory-dns/hickory-dns", rev = "a3669bd80f3f7b97f0c301c15f1cba6368d97b63" }
str0m = { version = "0.5", default-features = false }
futures-bounded = "0.2.1"
domain = { version = "0.10", features = ["serde"] }
dns-lookup = "2.0"
tokio-tungstenite = "0.21"
rtnetlink = { version = "0.14.1", default-features = false, features = ["tokio_socket"] }
connlib-client-android = { path = "connlib/clients/android"}
connlib-client-apple = { path = "connlib/clients/apple"}
connlib-client-shared = { path = "connlib/clients/shared"}
firezone-gateway = { path = "gateway"}
firezone-headless-client = { path = "headless-client"}
firezone-gui-client = { path = "gui-client/src-tauri"}
firezone-cli-utils = { path = "firezone-cli-utils"}
snownet = { path = "connlib/snownet"}
firezone-relay = { path = "relay"}
connlib-shared = { path = "connlib/shared"}
firezone-tunnel = { path = "connlib/tunnel"}
phoenix-channel = { path = "phoenix-channel"}
http-health-check = { path = "http-health-check"}
ip-packet = { path = "ip-packet"}
[workspace.lints]
clippy.dbg_macro = "warn"
clippy.print_stdout = "warn"
clippy.print_stderr = "warn"
clippy.unnecessary_wraps = "warn"
clippy.unused_async = "warn"
clippy.wildcard_enum_match_arm = "warn" # Ensures we match on all combinations of `Poll`, preventing erroneous suspensions.
clippy.redundant_else = "warn"
clippy.redundant_clone = "warn"
rustdoc.private-intra-doc-links = "allow" # We don't publish any of our docs but want to catch dead links.
[patch.crates-io]
boringtun = { git = "https://github.com/cloudflare/boringtun", branch = "master" }
str0m = { git = "https://github.com/firezone/str0m", branch = "main" }
ip_network_table = { git = "https://github.com/edmonds/ip_network_table", branch = "some-useful-traits" } # For `Debug` and `Clone`
[profile.release]
strip = true
# Full link-time optimization. Reduces binaries by up to 3x on some platforms.
lto = "fat"
# Increases the compiler's ability to produce smaller, optimized code
# at the expense of compilation time
codegen-units = 1
# Override build settings just for the GUI client, so we get a pdb/dwp
# Cargo ignores profile settings if they're not in the workspace's Cargo.toml
[profile.dev.package.firezone-gui-client]
debug = "full"
split-debuginfo = "packed"
strip = "none"
[profile.release.package.firezone-gui-client]
debug = "full"
split-debuginfo = "packed"
strip = "none"
# Override build settings for the relay, so we can capture flamegraphs
[profile.release.package.firezone-relay]
debug = "full"