[workspace]
members = ["gameserver", "proto", "sdkserver", "xtask"]
resolver = "2"

[workspace.package]
version = "0.1.0"

[workspace.dependencies]
anyhow = "1.0.81"
ansi_term = "0.12.1"
atomic_refcell = "0.1.13"
lazy_static = "1.4.0"

axum = "0.7.4"
axum-server = "0.6.0"
tower = "0.4.13"
tower-http = { version = "0.5.2", features = ["normalize-path"] }

dirs = "5.0.1"
dotenv = "0.15.0"

env_logger = "0.11.3"

rbase64 = "2.0.3"
rand = "0.8.5"

prost = "0.12.3"
prost-types = "0.12.3"
prost-build = "0.12.3"

paste = "1.0.14"
sysinfo = "0.30.7"

hex = "0.4.3"

serde = { version = "1.0.197", features = ["derive"] }
serde_json = "1.0.114"

tokio = { version = "1.36.0", features = ["full"] }
tokio-util = { version = "0.7.10", features = ["io"] }

tracing = "0.1.40"
tracing-futures = "0.2.5"
tracing-log = { version = "0.2.0", features = ["std", "log-tracer"] }
tracing-subscriber = { version = "0.3.18", features = [
	"env-filter",
	"registry",
	"std",
	"tracing",
	"tracing-log",
] }
tracing-bunyan-formatter = "0.3.9"

proto = { path = "proto/" }

[profile.release]
strip = true      # Automatically strip symbols from the binary.
lto = true        # Link-time optimization.
opt-level = 3     # Optimize for speed.
codegen-units = 1 # Maximum size reduction optimizations.
