1
0
forked from ROMEO/nexosim
nexosim/asynchronix/Cargo.toml
2024-11-08 11:08:47 +01:00

81 lines
2.7 KiB
TOML

[package]
name = "asynchronix"
# When incrementing version and releasing to crates.io:
# - Update crate version in this Cargo.toml
# - Update crate version in README.md
# - Update crate version in the lib.rs documentation of feature flags
# - Update dependency in sibling crates
# - Remove path dependencies
# - Update CHANGELOG.md
# - Update if necessary copyright notice in LICENSE-MIT
# - Create a "vX.Y.Z" git tag
authors = ["Serge Barral <serge.barral@asynchronics.com>"]
version = "0.2.2"
edition = "2021"
rust-version = "1.77.0"
license = "MIT OR Apache-2.0"
repository = "https://github.com/asynchronics/asynchronix"
readme = "../README.md"
description = """
A high performance asychronous compute framework for system simulation.
"""
categories = ["simulation", "aerospace", "science"]
keywords = ["simulation", "discrete-event", "systems", "cyberphysical", "real-time"]
[features]
# gRPC service.
grpc = ["dep:bytes", "dep:ciborium", "dep:prost", "dep:prost-types", "dep:serde", "dep:tonic", "dep:tokio", "dep:tonic"]
tracing = ["dep:tracing", "dep:tracing-subscriber"]
# DEVELOPMENT ONLY: API-unstable public exports meant for external test/benchmarking.
dev-hooks = []
[dependencies]
# Mandatory dependencies.
async-event = "0.2.1"
crossbeam-utils = "0.8"
diatomic-waker = "0.2.3"
dyn-clone = "1.0"
futures-channel = "0.3"
futures-task = "0.3"
multishot = "0.3.2"
num_cpus = "1.13"
pin-project-lite = "0.2"
recycle-box = "0.2"
slab = "0.4"
spin_sleep = "1"
st3 = "0.4"
tai-time = "0.3.3"
# Optional dependencies.
bytes = { version = "1", default-features = false, optional = true }
ciborium = { version = "0.2.2", optional = true }
prost = { version = "0.13", optional = true }
prost-types = { version = "0.13", optional = true }
serde = { version = "1", optional = true }
tokio = { version = "1.0", features=["net", "rt-multi-thread"], optional = true }
tonic = { version = "0.12", default-features = false, features=["codegen", "prost", "server"], optional = true }
tracing = { version= "0.1.40", default-features = false, features=["std"], optional = true }
tracing-subscriber = { version= "0.3.18", optional = true }
[dev-dependencies]
futures-util = "0.3"
futures-executor = "0.3"
tracing-subscriber = { version= "0.3.18", features=["env-filter"] }
[target.'cfg(asynchronix_loom)'.dev-dependencies]
loom = "0.7"
waker-fn = "1.1"
[target.'cfg(asynchronix_grpc_codegen)'.build-dependencies]
tonic-build = { version = "0.12" }
[lints.rust]
# `asynchronix_loom` flag: run loom-based tests.
# `asynchronix_grpc_codegen` flag: regenerate gRPC code from .proto definitions.
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(asynchronix_loom)', 'cfg(asynchronix_grpc_codegen)'] }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]