paperclip 0.8.2

OpenAPI tooling library for type-safe compile-time checked HTTP APIs
Documentation
[package]
name = "paperclip"
version = "0.8.2"
edition = "2018"
description = "OpenAPI tooling library for type-safe compile-time checked HTTP APIs"
documentation = "https://paperclip-rs.github.io/paperclip/paperclip"
keywords = ["openapi", "api", "swagger", "http", "web"]
license = "MIT OR Apache-2.0"
homepage = "https://github.com/paperclip-rs/paperclip"
repository = "https://github.com/paperclip-rs/paperclip"
readme = "README.md"
build = "src/build/build.rs"

[[bin]]
name = "paperclip"
path = "src/bin/main.rs"
required-features = ["cli"]

[dependencies]
paperclip-actix = { path = "plugins/actix-web", version = "0.6.2", optional = true }
paperclip-core = { path = "core", version = "0.6.2" }
paperclip-macros = { path = "macros", version = "0.6.3", optional = true }

env_logger = { version = "0.8", optional = true }
git2 = { version = "0.15", optional = true }
heck = { version = "0.4", optional = true }
http = { version = "0.2", optional = true }
itertools = "0.10"
log = { version = "0.4", optional = true }
regex = { version = "1.3", optional = true }
reqwest = { version = "0.10", features = ["blocking"], optional = true }
semver = "1.0.9"
serde = "1.0"
serde_derive = "1.0"
serde_json = "1.0"
serde_yaml = "0.9"
structopt = { version = "0.3", optional = true }
tinytemplate = { version = "1.1", optional = true }
url_dep = { version = ">=1.7,<3", package = "url" }
thiserror = "1.0"
anyhow = "1.0"
once_cell = "1.4"
openapiv3 = { version = "=1.0.2", optional = true }
indexmap = { version = "1.0", features = ["serde-1", "std"], optional = true }

[dev-dependencies]
actix-rt1 = { version = "1.0", package = "actix-rt" }
actix-service1 = { version = "1", package = "actix-service" }
actix-service2 = { version = "2", package = "actix-service" }
actix-web-validator2 = { version = "2.2", package = "actix-web-validator" }
actix-web-validator3 = { version = "3.0", package = "actix-web-validator" }
#actix-web2 = { version = "2", default-features = false, package = "actix-web" }
actix-web3 = { version = "3", default-features = false, package = "actix-web" }
actix-web4 = { version = "4", default-features = false, package = "actix-web" }
chrono_dev = { version = "0.4", features = ["serde"], package = "chrono" }
futures = "0.3"
uuid0_dev = { version = "0", features = ["serde"], package = "uuid" }
uuid1_dev = { version = "1", features = ["serde"], package = "uuid" }
reqwest = { version = "0.10", features = ["blocking", "json"] }
log = { version = "0.4", features = ["kv_unstable"] }
insta = "1.0"
env_logger = "0.8"
validator12 = { version = "0.12", features = ["derive"], package = "validator" }
validator14 = { version = "0.14", features = ["derive"], package = "validator" }
actix-web-httpauth3 = { version = "0.5", package = "actix-web-httpauth" }
actix-web-httpauth4 = { version = "0.6", package = "actix-web-httpauth" }

[features]
# actix-web support
actix4-nightly = ["actix4", "paperclip-actix/nightly"]
actix3-nightly = ["actix3", "paperclip-actix/nightly"]
actix2-nightly = ["actix2", "paperclip-actix/nightly"]
actix4 = ["actix-base", "paperclip-actix/actix4"]
actix3 = ["actix-base", "paperclip-actix/actix3"]
actix2 = ["actix-base", "paperclip-actix/actix2"]
actix-base = ["v2", "paperclip-macros/actix"]
swagger-ui = ["paperclip-actix/swagger-ui"]
rapidoc = ["paperclip-actix/rapidoc"]
path-in-definition = ["paperclip-macros/path-in-definition"]

# OpenAPI support (v2 and codegen)
cli = ["env_logger", "structopt", "git2", "v2", "codegen"]
codegen = ["heck", "http", "log", "regex", "tinytemplate", "paperclip-core/codegen"]
v2 = ["paperclip-macros/v2", "paperclip-core/v2"]
# OpenAPI v2 to v3 support
v3 = ["openapiv3", "indexmap", "v2", "paperclip-core/v3", "paperclip-actix/v3"]


# Features for implementing traits for dependencies.
actix-multipart = ["paperclip-core/actix-multipart"]
actix-session = ["paperclip-core/actix-session"]
actix-identity = ["paperclip-core/actix-identity"]
actix-files = ["paperclip-core/actix-files"]
actix3-validator = ["paperclip-core/actix3-validator"]
actix4-validator = ["paperclip-core/actix4-validator"]
chrono = ["paperclip-core/chrono"]
rust_decimal = ["paperclip-core/rust_decimal"]
url = ["paperclip-core/url"]
uuid = ["uuid0","uuid1"]
uuid0 = ["paperclip-core/uuid0"]
uuid1 = ["paperclip-core/uuid1"]
serde_qs = ["paperclip-core/serde_qs"]

[workspace]
members = [
    ".",
    "core",
    "macros",
    "plugins/actix-web",
]

[[test]]
name = "test_codegen"
required-features = ["v2", "codegen"]

[[test]]
name = "test_errors"
required-features = ["v2", "codegen"]

[[test]]
name = "test_app"
required-features = ["cli", "actix-base", "uuid", "chrono", "swagger-ui"]