mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
The current Rust workspace isn't as consistent as it could be. To make navigation a bit easier, we move a few crates around. Generally, we follow the idea that entry-points should be at the top-level. `rust/` now looks like this (directories only): ``` . ├── cli # Firezone CLI ├── client-ffi # Entry point for Apple & Android ├── gateway # Gateway ├── gui-client # GUI client ├── headless-client # Headless client ├── libs # Library crates ├── relay # Relay ├── target # Compile artifacts ├── tests # Crates for testing └── tools # Local tools ``` To further enforce this structure, we also drop the `firezone-` prefix from all crates that are not top-level binary crates.
106 lines
3.6 KiB
TOML
106 lines
3.6 KiB
TOML
[package]
|
|
name = "firezone-gui-client"
|
|
# mark:next-gui-version
|
|
version = "1.5.9"
|
|
description = "Firezone"
|
|
edition = { workspace = true }
|
|
default-run = "firezone-gui-client"
|
|
authors = ["Firezone, Inc."]
|
|
license = { workspace = true }
|
|
|
|
[package.metadata.tslink]
|
|
enum_representation = "discriminated"
|
|
|
|
[features]
|
|
# this feature is used for production builds or when `devPath` points to the filesystem
|
|
# DO NOT REMOVE!!
|
|
# TODO: We can probably remove this, per <https://github.com/tauri-apps/tauri/releases/tag/tauri-v2.0.0-beta.8>
|
|
# I don't know how to verify this change, so I won't do it right now.
|
|
custom-protocol = ["tauri/custom-protocol"]
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
arboard = { workspace = true }
|
|
atomicwrites = { workspace = true }
|
|
backoff = { workspace = true }
|
|
bin-shared = { workspace = true }
|
|
chrono = { workspace = true }
|
|
clap = { workspace = true, features = ["derive", "env"] }
|
|
client-shared = { workspace = true }
|
|
connlib-model = { workspace = true }
|
|
derive_more = { workspace = true, features = ["debug"] }
|
|
futures = { workspace = true }
|
|
hex = { workspace = true }
|
|
humantime = { workspace = true }
|
|
ip-packet = { workspace = true }
|
|
keyring = { workspace = true, features = ["crypto-rust", "sync-secret-service", "windows-native"] }
|
|
logging = { workspace = true }
|
|
native-dialog = { workspace = true }
|
|
output_vt100 = { workspace = true }
|
|
phoenix-channel = { workspace = true }
|
|
png = { workspace = true } # `png` is mostly free since we already need it for Tauri
|
|
rand = { workspace = true }
|
|
reqwest = { workspace = true, features = ["stream", "rustls-tls"] }
|
|
rustls = { workspace = true }
|
|
sadness-generator = { workspace = true }
|
|
secrecy = { workspace = true, features = ["serde"] }
|
|
semver = { workspace = true, features = ["serde"] }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
serde_variant = { workspace = true }
|
|
specta = { workspace = true, features = ["url"] }
|
|
specta-typescript = { workspace = true }
|
|
strum = { workspace = true }
|
|
subtle = { workspace = true }
|
|
tauri = { workspace = true, features = ["tray-icon", "image-png"] }
|
|
tauri-plugin-dialog = { workspace = true }
|
|
tauri-plugin-notification = { workspace = true }
|
|
tauri-plugin-opener = { workspace = true }
|
|
tauri-plugin-shell = { workspace = true }
|
|
tauri-runtime = { workspace = true }
|
|
tauri-specta = { workspace = true }
|
|
tauri-utils = { workspace = true }
|
|
telemetry = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true, features = ["signal", "time", "macros", "rt", "rt-multi-thread"] }
|
|
tokio-stream = { workspace = true }
|
|
tokio-util = { workspace = true, features = ["codec"] }
|
|
tracing = { workspace = true }
|
|
tracing-log = { workspace = true }
|
|
tracing-subscriber = { workspace = true, features = ["env-filter"] }
|
|
url = { workspace = true }
|
|
uuid = { workspace = true, features = ["v4"] }
|
|
zip = { workspace = true, features = ["deflate", "time"] }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
dirs = { workspace = true }
|
|
nix = { workspace = true, features = ["user"] }
|
|
sd-notify = { workspace = true }
|
|
tracing-journald = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
admx-macro = { workspace = true }
|
|
tauri-winrt-notification = "0.7.2"
|
|
windows-service = { workspace = true }
|
|
winreg = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies.windows]
|
|
workspace = true
|
|
features = [
|
|
"Win32_Foundation",
|
|
"Win32_System_Threading",
|
|
"Win32_System_Pipes", # For IPC system
|
|
]
|
|
|
|
[build-dependencies]
|
|
anyhow = { workspace = true }
|
|
tauri-build = { workspace = true, features = [] }
|
|
|
|
[dev-dependencies]
|
|
tempfile = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|