[package]
name = "agplatform"
version.workspace = true
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
documentation.workspace = true
readme.workspace = true
description = "Platform providing env, fs, request and process infrastructure for production and testing"
keywords = ["build", "test"]
categories.workspace = true
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lib]
bench = false
[[bench]]
name = "env"
harness = false
required-features = ["env"]
[[bench]]
name = "fs"
harness = false
required-features = ["fs"]
[[bench]]
name = "process"
harness = false
required-features = ["process", "tokio"]
[[bench]]
name = "request"
harness = false
required-features = ["request", "tokio"]
[[example]]
name = "env"
required-features = ["env"]
test = true
[[example]]
name = "fs"
required-features = ["fs"]
test = true
[[example]]
name = "process"
required-features = ["process"]
test = true
[[example]]
name = "process_async"
required-features = ["process", "tokio"]
test = true
[[example]]
name = "request"
required-features = ["request"]
test = true
[[example]]
name = "request_async"
required-features = ["request", "tokio"]
test = true
[[example]]
name = "download"
required-features = ["fs", "request"]
test = true
[[example]]
name = "threads"
required-features = ["fs", "process"]
test = true
[[example]]
name = "async_mirror"
required-features = ["fs", "process", "request", "tokio"]
test = true
[[test]]
name = "platform_test"
required-features = ["fs", "process", "request"]
[features]
default = []
env = []
fs = ["env"]
native-tls = ["request", "reqwest/native-tls"]
process = ["env", "tokio?/io-util", "tokio?/process"]
request = ["env", "dep:http-body-util", "dep:reqwest", "reqwest/blocking"]
testing = ["tokio?/sync"]
tls = ["request", "reqwest/rustls"]
tokio = ["dep:tokio", "tokio/time"]
[dependencies]
http-body-util = { version = "0.1", optional = true }
reqwest = { version = "0.13", default-features = false, optional = true }
tokio = { version = "1", default-features = false, optional = true }
[dev-dependencies]
agbench.workspace = true
agplatform = { path = ".", features = ["testing"] }
http-body = "1"
tokio = { version = "1", default-features = false, features = ["rt"] }