tvl-depot/tvix/store/Cargo.toml
Florian Klink 9c22345019 refactor(tvix/[ca]store): use auto_impl
This implements BS, DS, PS for Box'ed or Arc'ed variants of it with less
code, and less potential to accidentially forget to proxy default trait
methods for blanked impls, as fixed in cl/12658.

Change-Id: If2cdbb563a73792038ebe7bff45d6f880214855b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12661
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: edef <edef@edef.eu>
2024-10-18 21:45:55 +00:00

83 lines
2.9 KiB
TOML

[package]
name = "tvix-store"
version = "0.1.0"
edition = "2021"
[dependencies]
anyhow = { workspace = true }
async-compression = { workspace = true, features = ["tokio", "bzip2", "gzip", "xz", "zstd"] }
async-stream = { workspace = true }
blake3 = { workspace = true, features = ["rayon", "std"] }
bstr = { workspace = true }
bytes = { workspace = true }
clap = { workspace = true, features = ["derive", "env"] }
count-write = { workspace = true }
data-encoding = { workspace = true }
ed25519 = { workspace = true }
ed25519-dalek = { workspace = true }
futures = { workspace = true }
nix-compat = { path = "../nix-compat", features = ["async"] }
pin-project-lite = { workspace = true }
prost = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
serde_with = { workspace = true }
serde_qs = { workspace = true }
sha2 = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] }
tokio-listener = { workspace = true, features = ["clap", "multi-listener", "sd_listen", "tonic012"] }
tokio-stream = { workspace = true, features = ["fs"] }
tokio-util = { workspace = true, features = ["io", "io-util", "compat"] }
tonic = { workspace = true, features = ["tls", "tls-roots"] }
tower = { workspace = true }
tower-http = { workspace = true, features = ["trace"] }
tvix-castore = { path = "../castore" }
url = { workspace = true }
walkdir = { workspace = true }
reqwest = { workspace = true, features = ["rustls-tls-native-roots", "stream"] }
reqwest-middleware = { workspace = true }
lru = { workspace = true }
parking_lot = { workspace = true }
tvix-tracing = { path = "../tracing", features = ["tonic", "reqwest"] }
tracing = { workspace = true }
tracing-indicatif = { workspace = true }
hyper-util = { workspace = true }
toml = { version = "0.8.19", optional = true }
tonic-health = { workspace = true }
redb = { workspace = true, features = ["logging"] }
mimalloc = { workspace = true }
tonic-reflection = { workspace = true, optional = true }
bigtable_rs = { workspace = true, optional = true }
auto_impl = "1.2.0"
[build-dependencies]
prost-build = { workspace = true }
tonic-build = { workspace = true }
[dev-dependencies]
async-process = { workspace = true }
rstest = { workspace = true }
rstest_reuse = { workspace = true }
tempfile = { workspace = true }
tokio-retry = { workspace = true }
[features]
default = ["cloud", "fuse", "otlp", "tonic-reflection"]
cloud = [
"dep:bigtable_rs",
"tvix-castore/cloud"
]
fuse = ["tvix-castore/fuse"]
otlp = ["tvix-tracing/otlp"]
tonic-reflection = ["dep:tonic-reflection", "tvix-castore/tonic-reflection"]
tracy = ["tvix-tracing/tracy"]
virtiofs = ["tvix-castore/virtiofs"]
xp-store-composition = ["toml", "tvix-castore/xp-store-composition"]
# Whether to run the integration tests.
# Requires the following packages in $PATH:
# cbtemulator, google-cloud-bigtable-tool
integration = []
[lints]
workspace = true