# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.93"
name = "grpctestify"
version = "1.4.7"
authors = ["bavix"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "gRPC testing utility written in Rust"
readme = "README.md"
license = "MIT"
resolver = "2"

[package.metadata.cargo-machete]
ignored = [
    "tonic-prost",
    "tonic-prost-build",
    "protoc-bin-vendored",
]

[features]
default = []
proto-build = [
    "dep:tonic-prost",
    "dep:tonic-prost-build",
    "dep:protoc-bin-vendored",
]
test-servers = [
    "dep:tonic-prost",
    "dep:tonic-prost-build",
    "dep:protoc-bin-vendored",
]

[lib]
name = "grpctestify"
path = "src/lib.rs"

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

[[bin]]
name = "test-server"
path = "tests/servers/bin.rs"
required-features = ["test-servers"]

[[test]]
name = "allure_contract_test"
path = "tests/allure_contract_test.rs"

[[test]]
name = "command_contract_test"
path = "tests/command_contract_test.rs"

[[test]]
name = "config_defaults"
path = "tests/config_defaults.rs"

[[test]]
name = "diagnostics_tests"
path = "tests/diagnostics_tests.rs"

[[test]]
name = "explain"
path = "tests/explain_tests.rs"
harness = true

[[test]]
name = "extract"
path = "tests/extract_tests.rs"
harness = true

[[test]]
name = "extract_metadata"
path = "tests/extract_metadata_tests.rs"
harness = true

[[test]]
name = "extract_ternary"
path = "tests/extract_ternary_tests.rs"
harness = true

[[test]]
name = "fmt"
path = "tests/fmt_tests.rs"
harness = true

[[test]]
name = "inspect"
path = "tests/inspect_tests.rs"
harness = true

[[test]]
name = "lazy_connection"
path = "tests/lazy_connection.rs"

[[test]]
name = "lsp_variable"
path = "tests/lsp_variable_tests.rs"
harness = true

[[test]]
name = "lsp_variable_definition"
path = "tests/lsp_variable_definition_tests.rs"
harness = true

[[test]]
name = "lsp_variable_definition_integration"
path = "tests/lsp_variable_definition_integration_tests.rs"
harness = true

[[test]]
name = "plugins_test"
path = "tests/plugins_test.rs"

[[test]]
name = "report"
path = "tests/report_tests.rs"
harness = true

[[test]]
name = "runner_tests"
path = "tests/runner_tests.rs"

[[test]]
name = "security_tests"
path = "tests/security_tests.rs"

[[test]]
name = "string_math_tests"
path = "tests/string_math_tests.rs"

[[test]]
name = "ternary_ast"
path = "tests/ternary_ast_tests.rs"
harness = true

[[test]]
name = "workflow"
path = "tests/workflow_tests.rs"
harness = true

[dependencies.anyhow]
version = "1.0"

[dependencies.chrono]
version = "0.4"

[dependencies.clap]
version = "4.5"
features = ["derive"]

[dependencies.clap_complete]
version = "4.5"

[dependencies.console]
version = "0.16.2"

[dependencies.dirs]
version = "6.0"

[dependencies.dissimilar]
version = "1.0.10"

[dependencies.email_address]
version = "0.2"

[dependencies.futures]
version = "0.3.32"

[dependencies.indicatif]
version = "0.18.4"

[dependencies.jaq-core]
version = "3.0.0-gamma"

[dependencies.jaq-json]
version = "2.0.0-gamma"
features = ["serde"]

[dependencies.jaq-std]
version = "3.0.0-gamma"

[dependencies.json5]
version = "1.3.1"

[dependencies.lazy_static]
version = "1.5.0"

[dependencies.once_cell]
version = "1.20"

[dependencies.prost]
version = "0.14.3"

[dependencies.prost-reflect]
version = "0.16.3"
features = ["serde"]

[dependencies.prost-types]
version = "0.14.3"

[dependencies.rand]
version = "0.10.0"

[dependencies.regex]
version = "1.10"

[dependencies.rustls]
version = "0.23"
features = [
    "ring",
    "logging",
    "std",
    "tls12",
]
default-features = false

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.tokio]
version = "1.48"
features = ["full"]

[dependencies.tokio-stream]
version = "0.1"
features = ["sync"]

[dependencies.toml]
version = "1.0"

[dependencies.tonic]
version = "0.14.5"
features = [
    "tls-ring",
    "tls-native-roots",
    "transport",
    "gzip",
]

[dependencies.tonic-prost]
version = "0.14.5"
optional = true

[dependencies.tonic-reflection]
version = "0.14.5"

[dependencies.tower-lsp]
version = "0.20"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[dependencies.url]
version = "2.5"

[dependencies.uuid]
version = "1.6"
features = [
    "v4",
    "v5",
    "serde",
]

[dependencies.walkdir]
version = "2.4"

[dev-dependencies.tempfile]
version = "3.10"

[dev-dependencies.uuid]
version = "1.6"
features = [
    "v4",
    "v5",
    "serde",
]

[build-dependencies.protoc-bin-vendored]
version = "3"
optional = true

[build-dependencies.tonic-prost-build]
version = "0.14.5"
optional = true
