[package]
name = "external_storage"
version = "0.0.1"
edition = "2018"
publish = false

[features]
cloud-storage-dylib = [
  "ffi-support",
  "libloading",
  "protobuf",
]
cloud-storage-grpc = [
  "grpcio",
]
failpoints = ["fail/failpoints"]

[dependencies]
async-compression = { workspace = true }
async-trait = { workspace = true }
bytes = { workspace = true }
encryption = { workspace = true }
engine_traits = { workspace = true }
fail = { workspace = true }
ffi-support = { workspace = true, optional = true }
file_system = { workspace = true }
futures = { workspace = true }
futures-executor = { workspace = true }
futures-io = { workspace = true }
futures-util = { workspace = true }
grpcio = { workspace = true, optional = true }
kvproto = { workspace = true }
lazy_static = { workspace = true }
libloading = { workspace = true, optional = true }
openssl = { workspace = true }
prometheus = { workspace = true }
protobuf = { workspace = true, optional = true }
rand = { workspace = true }
slog = { workspace = true }
# better to not use slog-global, but pass in the logger
slog-global = { workspace = true }
tikv_alloc = { workspace = true }
tikv_util = { workspace = true }
tokio = { workspace = true }
tokio-util = { workspace = true }
url = { workspace = true }
workspace-hack = { version = "0.1", path = "../../workspace-hack" }

[dev-dependencies]
matches = { workspace = true }
rust-ini = { workspace = true }
structopt = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true }
