[package]
name = "gin-tonic"
version = "0.8.2"
edition = "2024"
repository = "https://codeberg.org/cemoktra/gin-tonic"
description = "main gin-tonic crate - rust protobuf with gin and tonic"
license = "MIT"
readme = "../README.md"
keywords = ["grpc", "protobuf", "tonic"]

[features]
default = ["derive", "tonic", "generator"]
uuid_string = ["gin-tonic-core/uuid_string"]
uuid_bytes = ["gin-tonic-core/uuid_bytes"]

tonic = ["dep:tonic", "dep:tonic-build"]
generator = ["dep:heck", "dep:proc-macro2", "dep:protox", "dep:quote", "dep:syn", "dep:prettyplease"]
derive = ["dep:gin-tonic-derive"]
internals = []

[dependencies]
gin-tonic-core = { workspace = true }
gin-tonic-derive = { workspace = true, optional = true }

prettyplease = { workspace = true, optional = true }

thiserror = { workspace = true }
tracing = { workspace = true }

syn = { workspace = true, optional = true }
heck = { workspace = true, optional = true }
proc-macro2 = { workspace = true, optional = true }
protox = { workspace = true, optional = true }
quote = { workspace = true, optional = true }

tonic = { workspace = true, optional = true }
tonic-build = { workspace = true, optional = true }

[dev-dependencies]
criterion = "0.5.1"
prost = { workspace = true }
uuid = { workspace = true }

hex = { workspace = true }

[lints]
workspace = true

[[bench]]
name = "gin_tonic"
harness = false

[[bench]]
name = "prost"
harness = false
