codemp/Cargo.toml
alemi 4ec99bab36 chore: modularized crate into features
by default "client" is on so that it works like before but it's possible
to cherry pick features out and (for example) only build the grpc proto
structs
2023-09-10 03:40:31 +02:00

39 lines
1.2 KiB
TOML

[package]
name = "codemp"
version = "0.5.0-pre"
edition = "2021"
[lib]
name = "codemp"
[dependencies]
# core
tracing = "0.1"
# ot
operational-transform = { version = "0.6", features = ["serde"], optional = true }
# proto
tonic = { version = "0.9", features = ["tls", "tls-roots"], optional = true }
prost = { version = "0.11.8", optional = true }
# api
similar = { version = "2.2", features = ["inline"], optional = true }
tokio = { version = "1.0", features = ["macros", "rt-multi-thread", "sync", "full"], optional = true }
async-trait = { version = "0.1", optional = true }
# client
md5 = { version = "0.7.0", optional = true }
uuid = { version = "1.3.1", features = ["v4"], optional = true }
serde_json = { version = "1", optional = true }
tokio-stream = { version = "0.1", optional = true }
# global
lazy_static = { version = "1.4", optional = true }
[build-dependencies]
tonic-build = "0.9"
[features]
default = ["client"]
api = ["ot", "dep:similar", "dep:tokio", "dep:async-trait"]
ot = ["dep:operational-transform"]
proto = ["dep:prost", "dep:tonic"]
client = ["proto", "api", "dep:tokio", "dep:tokio-stream", "dep:uuid", "dep:md5", "dep:serde_json"]
global = ["client", "dep:lazy_static"]
sync = ["client"]