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

[features]
protobuf-codec = ["kvproto/protobuf-codec"]
prost-codec = ["kvproto/prost-codec"]

[dependencies]
bytes = "0.5.3"
futures = "0.3.1"
fail = "0.4"
futures-executor = "0.3"
futures-io = "0.3"
futures-util = { version = "0.3", default-features = false, features = ["io"] }
http = "0.2.0"
kvproto = { git = "https://github.com/pingcap/kvproto.git", branch = "release-4.0", default-features = false }
hyper = "0.13.3"
hyper-tls = "0.4.1"
rand = "0.7"
rusoto_core = "0.45.0"
rusoto_s3 = "0.45.0"
rusoto_util = { path = "../rusoto_util" }
slog = { version = "2.3", features = ["max_level_trace", "release_max_level_debug"] }
# better to not use slog-global, but pass in the logger
slog-global = { version = "0.1", git = "https://github.com/breeswish/slog-global.git", rev = "0e23a5baff302a9d7bccd85f8f31e43339c2f2c1" }
tame-gcs = { version = "0.7.0", features = ["async-multipart"] }
tame-oauth = "0.4.2"
tikv_alloc = { path = "../tikv_alloc" }
tikv_util = { path = "../tikv_util" }
tokio = { version = "0.2.13", features = ["time"] }
url = "2.0"
lazy_static = "1.3"
prometheus = { version = "0.8", default-features = false, features = ["nightly", "push"] }

[dev-dependencies]
structopt = "0.3"
rusoto_mock = "0.45.0"
tempfile = "3.1"
rust-ini = "0.14.0"
matches = "0.1.8"