192 lines
5.9 KiB
Plaintext
192 lines
5.9 KiB
Plaintext
"""
|
|
We currently need to manually maintain this file, so we can use
|
|
ring on Linux, and native-tls on other platforms. We use ring on
|
|
Linux because the wheels need the SSL library statically linked in,
|
|
and native-tls-vendored is broken in Bazel due to sandboxing. We
|
|
prefer native-tls on other platforms because it reduces the resulting
|
|
binary size, and we get free updates from the OS.
|
|
|
|
Building openssl statically ourselves and linking it in would be
|
|
another valid solution, but we would need to ensure we keep it up
|
|
to date.
|
|
|
|
update.py takes care of keeping the referenced versions
|
|
up to date for us.
|
|
"""
|
|
|
|
# buildifier: disable=load
|
|
load(
|
|
"@rules_rust//rust:rust.bzl",
|
|
"rust_binary",
|
|
"rust_library",
|
|
"rust_test",
|
|
)
|
|
|
|
# buildifier: disable=load
|
|
load("@bazel_skylib//lib:selects.bzl", "selects")
|
|
|
|
package(default_visibility = [
|
|
# Public for visibility by "@raze__crate__version//" targets.
|
|
#
|
|
# Prefer access through "//cargo", which limits external
|
|
# visibility to explicit Cargo.toml dependencies.
|
|
"//visibility:public",
|
|
])
|
|
|
|
licenses([
|
|
"notice", # MIT from expression "MIT OR Apache-2.0"
|
|
])
|
|
|
|
# Generated Targets
|
|
|
|
# Unsupported target "blocking" with type "example" omitted
|
|
|
|
# Unsupported target "form" with type "example" omitted
|
|
|
|
# Unsupported target "json_dynamic" with type "example" omitted
|
|
|
|
# Unsupported target "json_typed" with type "example" omitted
|
|
|
|
# Unsupported target "simple" with type "example" omitted
|
|
|
|
# Unsupported target "tor_socks" with type "example" omitted
|
|
|
|
rust_library(
|
|
name = "reqwest",
|
|
srcs = glob(["**/*.rs"]),
|
|
aliases = selects.with_or({
|
|
# ring on Linux
|
|
(
|
|
"@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
|
|
"@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
|
|
): {},
|
|
"//conditions:default": {
|
|
# native-tls
|
|
"@raze__native_tls__0_2_7//:native_tls": "native_tls_crate",
|
|
},
|
|
}),
|
|
crate_features = [
|
|
"__tls",
|
|
"json",
|
|
"serde_json",
|
|
"socks",
|
|
"stream",
|
|
"tokio-socks",
|
|
] + selects.with_or({
|
|
# ring on Linux
|
|
(
|
|
"@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
|
|
"@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
|
|
): [
|
|
"__rustls",
|
|
"hyper-rustls",
|
|
"rustls",
|
|
"rustls-tls",
|
|
"rustls-tls-webpki-roots",
|
|
"tokio-rustls",
|
|
"webpki-roots",
|
|
],
|
|
# native-tls on other platforms
|
|
"//conditions:default": [
|
|
"default-tls",
|
|
"hyper-tls",
|
|
"native-tls",
|
|
"native-tls-crate",
|
|
"tokio-tls",
|
|
],
|
|
}),
|
|
crate_root = "src/lib.rs",
|
|
crate_type = "lib",
|
|
edition = "2018",
|
|
rustc_flags = [
|
|
"--cap-lints=allow",
|
|
],
|
|
tags = [
|
|
"cargo-raze",
|
|
"manual",
|
|
],
|
|
version = "0.10.8",
|
|
# buildifier: leave-alone
|
|
deps = [
|
|
"@raze__bytes__0_5_6//:bytes",
|
|
"@raze__http__0_2_3//:http",
|
|
"@raze__hyper_timeout__0_3_1//:hyper_timeout",
|
|
"@raze__mime_guess__2_0_3//:mime_guess",
|
|
"@raze__serde__1_0_125//:serde",
|
|
"@raze__serde_json__1_0_64//:serde_json",
|
|
"@raze__serde_urlencoded__0_6_1//:serde_urlencoded",
|
|
"@raze__url__2_2_1//:url",
|
|
] + selects.with_or({
|
|
# cfg(not(target_arch = "wasm32"))
|
|
(
|
|
"@rules_rust//rust/platform:aarch64-apple-ios",
|
|
"@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
|
|
"@rules_rust//rust/platform:x86_64-apple-darwin",
|
|
"@rules_rust//rust/platform:x86_64-apple-ios",
|
|
"@rules_rust//rust/platform:x86_64-pc-windows-msvc",
|
|
"@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
|
|
): [
|
|
"@raze__base64__0_13_0//:base64",
|
|
"@raze__encoding_rs__0_8_28//:encoding_rs",
|
|
"@raze__futures_core__0_3_13//:futures_core",
|
|
"@raze__futures_util__0_3_13//:futures_util",
|
|
"@raze__http_body__0_3_1//:http_body",
|
|
"@raze__hyper__0_13_10//:hyper",
|
|
"@raze__ipnet__2_3_0//:ipnet",
|
|
"@raze__lazy_static__1_4_0//:lazy_static",
|
|
"@raze__log__0_4_14//:log",
|
|
"@raze__mime__0_3_16//:mime",
|
|
"@raze__percent_encoding__2_1_0//:percent_encoding",
|
|
"@raze__pin_project_lite__0_1_12//:pin_project_lite",
|
|
"@raze__tokio__0_2_25//:tokio",
|
|
"@raze__tokio_socks__0_3_0//:tokio_socks",
|
|
],
|
|
"//conditions:default": [],
|
|
}) + selects.with_or({
|
|
# cfg(windows)
|
|
(
|
|
"@rules_rust//rust/platform:x86_64-pc-windows-msvc",
|
|
): [
|
|
"@raze__winreg__0_7_0//:winreg",
|
|
],
|
|
"//conditions:default": [],
|
|
}) + selects.with_or({
|
|
# ring on Linux
|
|
(
|
|
"@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
|
|
"@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
|
|
): [
|
|
"@raze__hyper_rustls__0_21_0//:hyper_rustls",
|
|
"@raze__rustls__0_18_1//:rustls",
|
|
"@raze__tokio_rustls__0_14_1//:tokio_rustls",
|
|
"@raze__webpki_roots__0_20_0//:webpki_roots",
|
|
],
|
|
# native-tls on other platforms
|
|
"//conditions:default": [
|
|
"@raze__hyper_tls__0_4_3//:hyper_tls",
|
|
"@raze__native_tls__0_2_7//:native_tls",
|
|
"@raze__tokio_tls__0_3_1//:tokio_tls",
|
|
],
|
|
}),
|
|
)
|
|
|
|
# Unsupported target "badssl" with type "test" omitted
|
|
|
|
# Unsupported target "blocking" with type "test" omitted
|
|
|
|
# Unsupported target "brotli" with type "test" omitted
|
|
|
|
# Unsupported target "client" with type "test" omitted
|
|
|
|
# Unsupported target "cookie" with type "test" omitted
|
|
|
|
# Unsupported target "gzip" with type "test" omitted
|
|
|
|
# Unsupported target "multipart" with type "test" omitted
|
|
|
|
# Unsupported target "proxy" with type "test" omitted
|
|
|
|
# Unsupported target "redirect" with type "test" omitted
|
|
|
|
# Unsupported target "timeouts" with type "test" omitted
|