[package]
name = "meteroid-utoipa"
description = "Compile time generated OpenAPI documentation for Rust (meteroid-oss fork of utoipa)"
version = "5.6.0"
edition = "2021"
license = "MIT OR Apache-2.0"
readme = "README.md"
keywords = [
    "rest-api",
    "openapi",
    "auto-generate",
    "documentation",
    "compile-time",
]
# documentation = ""
# homepage = ""
repository = "https://github.com/meteroid-oss/utoipa"
categories = ["web-programming"]
authors = ["Juha Kukkonen <juha7kukkonen@gmail.com>"]
rust-version.workspace = true
include = [
    "README.md",
    "src/**/*.rs",
    "LICENSE-APACHE",
    "LICENSE-MIT",
    "CHANGELOG.md",
    "Cargo.toml",
]

# Published as `meteroid-utoipa` but keeps the `utoipa` lib name, so downstream
# code stays `use utoipa::...` and the derive macros resolve as before.
[lib]
name = "utoipa"

[features]
# See README.md for list and explanations of features
default = ["macros"]
debug = ["utoipa-gen?/debug"]
actix_extras = ["utoipa-gen?/actix_extras"]
rocket_extras = ["utoipa-gen?/rocket_extras"]
axum_extras = ["utoipa-gen?/axum_extras"]
chrono = ["utoipa-gen?/chrono"]
decimal = ["utoipa-gen?/decimal"]
decimal_float = ["utoipa-gen?/decimal_float"]
bigdecimal = ["utoipa-gen?/bigdecimal"]
bigdecimal_float = ["utoipa-gen?/bigdecimal_float"]
non_strict_integers = ["utoipa-gen?/non_strict_integers"]
yaml = ["dep:yaml_serde", "utoipa-gen?/yaml"]
uuid = ["utoipa-gen?/uuid"]
ulid = ["utoipa-gen?/ulid"]
url = ["utoipa-gen?/url"]
time = ["utoipa-gen?/time"]
jiff_0_2 = ["utoipa-gen?/jiff_0_2"]
smallvec = ["utoipa-gen?/smallvec"]
indexmap = ["utoipa-gen?/indexmap"]
openapi_extensions = []
repr = ["utoipa-gen?/repr"]
preserve_order = []
preserve_path_order = []
rc_schema = ["utoipa-gen?/rc_schema"]
tagged_discriminator = ["utoipa-gen?/tagged_discriminator"]
macros = ["dep:utoipa-gen"]
config = ["utoipa-gen?/config"]

# EXPERIEMENTAL! use with cauntion
auto_into_responses = ["utoipa-gen?/auto_into_responses"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0" }
yaml_serde = { version = "0.10.4", optional = true }
utoipa-gen = { package = "meteroid-utoipa-gen", version = "5.6.0", path = "../utoipa-gen", optional = true }
indexmap = { version = "2", features = ["serde"] }

[dev-dependencies]
insta = { version = "1.47", features = ["json", "redactions"] }
utoipa = { package = "meteroid-utoipa", path = ".", features = ["debug"] }

[package.metadata.docs.rs]
features = [
    "actix_extras",
    "non_strict_integers",
    "openapi_extensions",
    "uuid",
    "ulid",
    "url",
    "yaml",
    "macros",
]
rustdoc-args = ["--cfg", "doc_cfg"]

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(doc_cfg)'] }
