forked from getkono/spargen
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
63 lines (60 loc) · 2.54 KB
/
Copy pathCargo.toml
File metadata and controls
63 lines (60 loc) · 2.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Spargen — a compile-time-correct Rust client generator for OpenAPI 3.1.x and 3.2.x.
#
# Two published crates: `spargen` (the library + CLI) and `spargen-macro` (a thin proc-macro
# shim exposing `generate_api!`). Neither ever enters a consumer's RUNTIME graph — a proc-macro
# crate and everything it reaches are host/build-time only. Plus a `publish = false`
# `support-runtime` member holding the freestanding runtime embedded verbatim into generated output.
# The `xtask` member (layer lint, corpus tooling) is reserved for later.
[workspace]
resolver = "2"
members = ["spargen", "spargen-macro", "support-runtime"]
# members = ["spargen", "support-runtime", "xtask"] # reserved
# The `fuzz/` cargo-fuzz crate is a deliberately-excluded, opt-in workspace member: it depends on
# libfuzzer-sys and needs a nightly libFuzzer sysroot, neither of which should touch the normal
# `cargo build --workspace` / `check` / `lint` / `test` / `deny` paths. Building it is manual —
# `cargo +nightly fuzz run frontend` (see `fuzz/README.md`).
exclude = ["fuzz"]
[workspace.package]
version = "0.2.2"
edition = "2021"
rust-version = "1.85"
license = "MIT OR Apache-2.0"
authors = ["Justin Chung"]
repository = "https://github.com/getkono/spargen"
description = "A compile-time-correct Rust client generator for OpenAPI 3.1.x and 3.2.x."
keywords = ["openapi", "codegen", "client"]
categories = ["development-tools", "api-bindings"]
# Shared dependency versions. Each subsystem opts in from its own crate manifest; entries are
# added as the subsystem that first needs them lands (see the per-commit plan).
[workspace.dependencies]
bytes = "1.12.1"
futures-core = "0.3.32"
quick-xml = "0.41.0"
reqwest = { version = "0.12.28", default-features = false }
secrecy = "0.10.3"
serde = "1.0.229"
serde_json = "1.0.151"
time = "0.3.55"
tokio = "1.53.1"
uuid = "1.24.0"
semver = "1.0"
camino = "1.1"
indexmap = "2.2"
yaml-rust2 = "0.11"
proc-macro2 = "1.0"
quote = "1.0"
syn = { version = "2.0", features = ["full"] }
prettyplease = "0.2"
clap = { version = "4.5", features = ["derive"] }
toml = "0.8"
proptest = "1.11"
tempfile = "3.10"
insta = "1.43"
# Statistics-driven benchmark harness for `spargen/benches/` (run via `cargo bench`). Dev-only —
# never in a library/build.rs graph nor the generated-output runtime. Default features off to skip
# the `plotters`/`rayon` report stack (unused here); `cargo_bench_support` keeps it usable under
# `cargo bench`.
criterion = { version = "0.8", default-features = false, features = ["cargo_bench_support"] }
[profile.release]
strip = true
lto = "thin"