[package]
name = "nifi-rust-client"
version = "0.15.1"
description = "Apache NiFi REST API client library"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true

[package.metadata.docs.rs]
features = ["dynamic"]

[dependencies]
async-trait.workspace = true
bytes.workspace = true
futures-core.workspace = true
futures-util.workspace = true
percent-encoding.workspace = true
reqwest.workspace = true
semver.workspace = true
serde.workspace = true
serde_json.workspace = true
snafu.workspace = true
tokio = { workspace = true, features = ["sync", "time"] }
tracing.workspace = true
url.workspace = true
uuid.workspace = true
zeroize.workspace = true

[dev-dependencies]
regex.workspace = true
serde_json.workspace = true
tokio = { workspace = true, features = ["rt", "rt-multi-thread", "macros"] }
tracing-subscriber.workspace = true
wiremock.workspace = true

[build-dependencies]
nifi-openapi-gen = { path = "../nifi-openapi-gen", version = "0.14.0" }

[lints]
workspace = true

[features]
default = ["nifi-2-10-0"]
dynamic = []
nifi-2-10-0 = []
nifi-2-6-0 = []
nifi-2-7-2 = []
nifi-2-8-0 = []
nifi-2-9-0 = []

[[example]]
name = "basic_static"
required-features = ["nifi-2-8-0"]

[[example]]
name = "credentials_and_retry"
required-features = ["nifi-2-8-0"]

[[example]]
name = "custom_tls"
required-features = ["nifi-2-8-0"]

[[example]]
name = "dynamic_autodetect"
required-features = ["dynamic"]

[[example]]
name = "streaming_download"
required-features = ["nifi-2-8-0"]

[[example]]
name = "bulk_start_stop"
required-features = ["nifi-2-8-0"]
