[package]
name = "rh-cli"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
rust-version.workspace = true
description = "Unified CLI for FHIR processing tools"
keywords = ["fhir", "healthcare", "cli", "hl7", "validation"]
categories = ["command-line-utilities", "api-bindings"]
readme = "README.md"

[[bin]]
name = "rh"
path = "src/main.rs"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
# Workspace dependencies
serde = { workspace = true }
serde_json = { workspace = true }
chrono = { workspace = true }
clap = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
tokio = { workspace = true }
rust_decimal = { workspace = true }
glob = "0.3"
is-terminal = "0.4"

# Local workspace crates
rh-foundation = { path = "../../crates/rh-foundation", version = "0.2.5", features = ["http"] }
rh-codegen = { path = "../../crates/rh-codegen", version = "0.2.5" }
rh-cql = { path = "../../crates/rh-cql", version = "0.2.5", features = ["repl"] }
rh-fhirpath = { path = "../../crates/rh-fhirpath", version = "0.2.5", features = ["repl"] }
rh-packager = { path = "../../crates/rh-packager", version = "0.2.5" }
rh-validator = { path = "../../crates/rh-validator", version = "0.2.5" }
rh-vcl = { path = "../../crates/rh-vcl", version = "0.2.5", features = ["repl"] }
rh-hl7-fhir-r4-core = { path = "../../crates/rh-hl7_fhir_r4_core", version = "0.2.5" }
rh-fsh = { path = "../../crates/rh-fsh", version = "0.2.5" }

[dev-dependencies]
assert_cmd = "2.0"
predicates = "3.1"
tempfile = "3.13"

# Vendored OpenSSL is required for fully static musl builds; the system
# pkg-config cannot locate a musl-compatible OpenSSL on the CI runner.
[target.'cfg(target_env = "musl")'.dependencies]
openssl = { version = "0.10", features = ["vendored"] }

[lints]
workspace = true
