Files
firezone/rust/Cargo.toml
Reactor Scram 3a67eacfbe refactor(linux-client): replace client-tunnel with headless-client which is the same thing (#4516)
Unfortunately I had to keep `linux-client` to get the compatibility
tests to pass. #4578 aims to remove that package.

Please add to this list if you think of anything:

```[tasklist]
# Things that may break that CI/CD won't catch
- [ ] Github release artifacts
- [ ] Knowledge base 
- [ ] Docker images
- [ ] Docker containers
- [ ] Existing `linux-client` users
- [ ] Anything that downloads ghcr artifacts
- [ ] Nix (Not sure if it's built in CI. It had a merge conflict)
```

Refs #4515, and #3712, #3782

I think this is what Thomas and I agreed on in Slack / Github

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-04-10 22:01:55 +00:00

92 lines
3.0 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",
"linux-client",
"snownet-tests",
"phoenix-channel",
"relay",
"gui-client/src-tauri",
"http-health-check",
"http-test-server",
]
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.53"
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"] }
str0m = { version = "0.5", default-features = false }
futures-bounded = "0.2.1"
domain = { version = "0.9", 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"}
[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"
[patch.crates-io]
boringtun = { git = "https://github.com/cloudflare/boringtun", branch = "master" }
str0m = { git = "https://github.com/firezone/str0m", branch = "main" }
[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"