# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

[package]
name = "vmgs"
edition.workspace = true
rust-version.workspace = true

[features]
default = []

inspect = ["vmgs_format/inspect", "dep:inspect", "dep:inspect_counters"]
save_restore = ["dep:mesh_protobuf"]
mesh = ["dep:mesh_protobuf"]
encryption = ["dep:crypto", "crypto/ossl_vendored"]
test_helpers = []

# run encryption unit tests in CI
ci = ["encryption"]

[dependencies]
disk_backend.workspace = true
guestmem.workspace = true
scsi_buffers.workspace = true
vmgs_format.workspace = true

crypto = { workspace = true, optional = true}
inspect = { workspace = true, optional = true }
inspect_counters = { workspace = true, optional = true }
mesh_protobuf = { workspace = true, optional = true }
async-trait.workspace = true
crc32fast.workspace = true
getrandom.workspace = true
serde_json = { workspace = true, features = ["std"] }
thiserror.workspace = true
tracing.workspace = true
cvm_tracing.workspace = true
zerocopy.workspace = true

[dev-dependencies]
pal_async.workspace = true
disklayer_ram.workspace = true
parking_lot.workspace = true

[lints]
workspace = true
