[package]
name = "optionable_codegen"
version = "0.14.0"
description = "proc_macro2 functions for the derive macro and codegen implementations in the `optionable_derive` crate to derive nested structs/enums with all subfields being optional (e.g. for patches or Kubernetes server side apply)."
readme = "README.md"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true

[features]
default = []
k8s_openapi = []
kube = []

[lints.clippy]
pedantic = "warn"

[dependencies]
quote = "1.0.45"
syn = { version = "2.0.117", default-features = false, features = ["proc-macro", "derive", "visit"] }
proc-macro2 = "1.0.106"
darling = { version = "0.23.0", default-features = false }
itertools = "0.14.0"

[dev-dependencies]
k8s-openapi-codegen-common = "0.27.1"

[package.metadata.docs.rs]
# to be able to document feature dependent settings, see https://users.rust-lang.org/t/how-to-document-optional-features-in-api-docs/64577/3
rustdoc-args = ["--cfg", "docsrs"]
all-features = true
