[package]
name = "rfstore"
version = "0.0.1"
authors = ["The TiKV Authors"]
license = "Apache-2.0"
edition = "2018"
publish = false

[features]
testexport = ["cloud_encryption/testexport", "kvengine/testexport"]
failpoints = ["fail/failpoints"]

[dependencies]
anyhow = { workspace = true }
api_version = { workspace = true }
async-trait = { workspace = true }
batch-system = { workspace = true }
bitflags = { workspace = true }
byteorder = { workspace = true }
bytes = { workspace = true }
cloud_encryption = { workspace = true }
collections = { workspace = true }
concurrency_manager = { workspace = true }
crc32c = { workspace = true }
crossbeam = { workspace = true }
crossbeam-skiplist = { workspace = true }
dashmap = { workspace = true }
derivative = { workspace = true }
dyn-clone = { workspace = true }
encryption = { workspace = true }
engine_traits = { workspace = true }
error_code = { workspace = true }
fail = { workspace = true }
fs2 = { workspace = true }
futures = { workspace = true }
futures-util = { workspace = true }
grpcio = { workspace = true }
health_controller = { workspace = true }
keys = { workspace = true }
kvengine = { workspace = true }
kvenginepb = { workspace = true }
kvproto = { workspace = true }
lazy_static = { workspace = true }
legacy_sst = { workspace = true }
log_wrappers = { workspace = true }
maybe-async = { workspace = true }
memory_trace_macros = { workspace = true }
online_config = { workspace = true }
papaya = { workspace = true }
parking_lot = { workspace = true }
pd_client = { workspace = true }
pin-project = { workspace = true }
prometheus = { workspace = true }
prometheus-static-metric = { workspace = true }
protobuf = { workspace = true }
raft = { workspace = true }
raft-proto = { workspace = true }
raftstore = { workspace = true }
rand = { workspace = true }
resource_control = { workspace = true }
resource_metering = { workspace = true }
rfengine = { workspace = true }
schema = { workspace = true }
serde = { workspace = true }
serde_derive = { workspace = true }
serde_with = { workspace = true }
slog = { workspace = true }
slog-global = { workspace = true }
slog-term = { workspace = true }
smallvec = { workspace = true }
sst_importer = { workspace = true }
thiserror = { workspace = true }
tidb_query_datatype = { workspace = true }
tikv_alloc = { workspace = true }
tikv_util = { workspace = true }
time = { workspace = true }
tokio = { workspace = true }
toml = { workspace = true }
trace_event = { workspace = true }
tracker ={ workspace = true }
txn_types = { workspace = true }
uuid = { workspace = true }
workspace-hack = { version = "0.1", path = "../../workspace-hack" }
yatp = { workspace = true }

[dev-dependencies]
file_system = { workspace = true }
kvengine = { workspace = true, features = ["testexport"] }
rstest = { workspace = true }
security = { workspace = true }
tempfile = { workspace = true }
test_pd_client = { workspace = true }
test_util = { workspace = true }

[lints.rust]
# The check_leader api is not fully tests and currently not used, so we use a
# custom flag to skip to tests.
unexpected_cfgs = { level = "warn", check-cfg = [
    'cfg(NO_NEXT_GEN_COMPATIBLE)',
] }
