1# Third-party crates for the whole workspace, buckified by reindeer
2# (`reindeer --third-party-dir third-party buckify`). First-party crates
3# are declared only in BUCK files; this manifest exists to resolve and
4# lock crates.io versions.
5[package]
6name = "third-party"
7version = "0.0.0"
8edition = "2024"
9publish = false
10
11[lib]
12path = "top/lib.rs"
13
14[dependencies]
15# The Jev protocol, client policy and mock endpoint: ~/jevcrates, as the
16# git submodule beside this file, pinned by its gitlink.
17jev-protocol = { path = "jevcrates/jev-protocol" }
18jev-client = { path = "jevcrates/jev-client" }
19jev-mock = { path = "jevcrates/jev-mock" }
20# Extension
21pgrx = { version = "=0.19.2", default-features = false, features = ["pg18"] }
22serde = { version = "1", features = ["derive"] }
23serde_json = { version = "1", features = ["preserve_order", "raw_value"] }
24# The cache key (postjevsql-core).
25sha2 = "0.11"
26bytes = "1"
27http = "1"
28http-body-util = "0.1"
29hyper = { version = "1", features = ["client", "http2"] }
30# Read h2 reasons (REFUSED_STREAM, GOAWAY) off hyper errors: never-sent.
31h2 = "0.4"
32rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12", "logging"] }
33rustls-pki-types = { version = "1", features = ["std"] }
34# The backend has no tokio: TLS over futures-io, sockets from socket2,
35# polled by postjevsql-pg's WaitEventSet executor (contract §2).
36futures-rustls = { version = "0.26", default-features = false, features = ["ring", "tls12", "logging"] }
37futures-io = "0.3"
38socket2 = "0.6"
39libc = "0.2"
40webpki-roots = "1"
41# DNS on the executor: no tokio (its default feature), plain DNS from
42# /etc/resolv.conf or jev.dns_servers (contract §2, "Hickory constraints").
43# hickory-net declares its runtime traits with #[async_trait].
44async-trait = "0.1"
45hickory-resolver = { version = "=0.26.3", default-features = false, features = ["system-config"] }
46
47# Schema tool (reads the .pgrxsc section of the built .so)
48pgrx-sql-entity-graph = "=0.19.2"
49object = { version = "0.37", default-features = false, features = ["read", "std"] }
50# Cargo manifest generator (tools/cargo-gen)
51toml = { version = "0.9", features = ["preserve_order"] }
52
53# Integration tests
54tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "sync", "time"] }
55tokio-postgres = "0.7"
56hickory-proto = { version = "=0.26.3", default-features = false, features = ["std"] }
57tempfile = "3"