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

[[test]]
name = "integrations"
path = "tests/integrations/mod.rs"

[features]
default = ["protobuf-codec"]
protobuf-codec = [
  "engine/protobuf-codec",
  "engine_rocks/protobuf-codec",
  "external_storage/protobuf-codec",
  "grpcio/protobuf-codec",
  "keys/protobuf-codec",
  "kvproto/protobuf-codec",
  "raft/protobuf-codec",
  "raftstore/protobuf-codec",
  "tidb_query/protobuf-codec",
  "tikv/protobuf-codec",
  "txn_types/protobuf-codec",
]
prost-codec = [
  "engine/prost-codec",
  "engine_rocks/prost-codec",
  "external_storage/prost-codec",
  "grpcio/prost-codec",
  "keys/prost-codec",
  "kvproto/prost-codec",
  "raft/prost-codec",
  "raftstore/prost-codec",
  "tidb_query/prost-codec",
  "tikv/prost-codec",
  "txn_types/prost-codec",
]
tcmalloc = ["tikv/tcmalloc"]
jemalloc = ["tikv/jemalloc"]
mimalloc = ["tikv/mimalloc"]
portable = ["tikv/portable"]
sse = ["tikv/sse"]
mem-profiling = ["tikv/mem-profiling"]
failpoints = ["tikv/failpoints"]

[dependencies]
configuration = { path = "../configuration" }
crc64fast = "0.1"
engine = { path = "../engine" }
engine_rocks = { path = "../engine_rocks" }
engine_traits = { path = "../engine_traits" }
error_code = { path = "../error_code" }
external_storage = { path = "../external_storage" }
failure = "0.1"
futures = { version = "0.3", features = ["compat"] }
futures-util = { version = "0.3", default-features = false, features = ["io", "io-compat"] }
grpcio = { version = "0.5", default-features = false, features = ["openssl-vendored"] }
hex = "0.4"
keys = { path = "../keys" }
kvproto = { git = "https://github.com/pingcap/kvproto.git", branch = "release-4.0", default-features = false }
lazy_static = "1.3"
prometheus = { version = "0.8", default-features = false, features = ["nightly", "push"] }
raft = { version = "0.6.0-alpha", default-features = false }
raftstore = { path = "../raftstore" }
security = { path = "../security" }
serde = "1.0"
serde_derive = "1.0"
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" }
tidb_query = { path = "../tidb_query" }
tikv = { path = "../../", default-features = false }
tikv_alloc = { path = "../tikv_alloc" }
tikv_util = { path = "../tikv_util" }
txn_types = { path = "../txn_types" }
log_wrappers = { path = "../log_wrappers" }

[dependencies.yatp]
git = "https://github.com/tikv/yatp.git"

[dependencies.futures_01]
version = "0.1"
package = "futures"

[dev-dependencies]
futures-executor = "0.3"
rand = "0.7"
tempfile = "3.0"
test_util = { path = "../test_util" }
test_raftstore = { path = "../test_raftstore" }
uuid = { version = "0.8.1", features = ["serde", "v4"] }
