[package]
name = "etdl-cli"
version = "0.3.1"
edition.workspace = true
license.workspace = true
repository.workspace = true
readme = "README.md"
description = "ETDL CLI: compile and validate .etdl documents with IEC 61025 fault tree and IEC 62502 event tree analysis; generates a native Rust runtime (default) plus optional thin language bindings (--target java/python/go/dotnet) for microservices"
keywords = ["etdl", "cli", "reliability", "microservices", "asyncapi"]
categories = ["command-line-utilities", "development-tools"]
homepage = "https://github.com/ETDL-lang/etdl"
[[bin]]
name = "etdl"
path = "src/main.rs"
[features]
default = ["reliability", "discovery", "target-java", "target-python", "target-go", "target-dotnet"]
reliability = [
"etdl-compiler/reliability",
"dep:etdl-reliability-core",
"dep:etdl-reliability",
"etdl-conformance/reliability",
]
discovery = ["dep:etdl-failure-discovery", "dep:etdl-reliability-ontology"]
target-java = ["dep:etdl-target-java"]
target-python = ["dep:etdl-target-python"]
target-go = ["dep:etdl-target-go"]
target-dotnet = ["dep:etdl-target-dotnet"]
plugins = ["etdl-compiler/plugins", "dep:ureq"]
[dependencies]
etdl-parser = { version = "0.4.0", path = "../etdl-parser" }
etdl-compiler = { version = "0.4.0", path = "../etdl-compiler", default-features = false }
etdl-target-java = { version = "0.0.2", git = "https://github.com/ETDL-lang/etdl-target-java", package = "etdl-target-java", optional = true }
etdl-target-python = { version = "0.0.2", git = "https://github.com/ETDL-lang/etdl-target-python", package = "etdl-target-python", optional = true }
etdl-target-go = { version = "0.0.2", git = "https://github.com/ETDL-lang/etdl-target-go", package = "etdl-target-go", optional = true }
etdl-target-dotnet = { version = "0.0.2", git = "https://github.com/ETDL-lang/etdl-target-dotnet", package = "etdl-target-dotnet", optional = true }
etdl-probability-core = { version = "0.3.1", path = "../etdl-probability-core" }
etdl-tree-core = { version = "0.3.1", path = "../etdl-tree-core" }
etdl-reliability-core = { version = "0.3.1", path = "../etdl-reliability-core", optional = true }
etdl-reliability = { version = "0.3.1", git = "https://github.com/ETDL-lang/etdl-reliability", package = "etdl-reliability", optional = true }
etdl-reliability-ontology = { version = "0.3.1", git = "https://github.com/ETDL-lang/etdl-reliability", package = "etdl-reliability-ontology", optional = true }
etdl-failure-discovery = { version = "0.3.1", git = "https://github.com/ETDL-lang/etdl-reliability", package = "etdl-failure-discovery", optional = true }
etdl-conformance = { version = "0.3.1", path = "../etdl-conformance", default-features = false }
ureq = { version = "2", optional = true }
clap = { version = "4", features = ["derive"] }
serde.workspace = true
serde_json.workspace = true
serde_yaml.workspace = true
thiserror.workspace = true
[dev-dependencies]
serde.workspace = true
serde_json.workspace = true