stow-cli 0.5.0

CLI that routes rustc invocations through the stow public artifact cache
Documentation
[package]
name = "stow-cli"
description = "CLI that routes rustc invocations through the stow public artifact cache"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
readme = "README.md"
keywords = ["artifact-cache", "cargo", "rustc-wrapper"]
categories = ["caching", "command-line-utilities", "development-tools::cargo-plugins"]
default-run = "stow-cli"

[[bin]]
name = "stow-cli"
path = "src/bin/stow-cli.rs"

[[bin]]
name = "cargo-stow"
path = "src/bin/cargo-stow.rs"

[[bin]]
name = "stow"
path = "src/bin/stow.rs"

[features]
# Local mock verification (`STOW_VERIFY_MODE=mock-key`): a single PEM key
# replaces the Fulcio/Rekor trust root. Only the mock end-to-end lane
# builds with it; release binaries verify against GitHub CI alone.
mock-verify = []

[dependencies]
tracing.workspace = true
serde.workspace = true
serde_json.workspace = true
semver.workspace = true
clap = { version = "4.5", features = ["derive"] }
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
tracing-chrome = "0.7"
async-process = "2"
async-fs = "2"
futures-lite = "2"
futures-util = "0.3"
smol = "2"
tempfile = "3"
toml_edit = "0.25"
zenwave.workspace = true
toml = "1"
dirs = "7"
fs2 = "0.4"
pathdiff = "0.2"
sha2 = "0.11"
base64 = "0.23"
blake3.workspace = true
hex.workspace = true
tar = "0.4"
flate2.workspace = true
stow-types.workspace = true
stow-shim.workspace = true
stow-oci.workspace = true
# Same `default-features = false` selection as stow-oci: `rustls-tls` pins
# aws-lc-rs, which conflicts with the ring provider this crate installs.
oci-client = { version = "0.16.1", default-features = false }
oci-spec = "0.10"
sigstore = { version = "0.13.0", default-features = false, features = ["cosign", "verify", "sigstore-trust-root", "rustls-tls"] }
tokio = { version = "1", features = ["io-std", "io-util", "net", "rt", "rt-multi-thread", "sync", "time"] }
x509-cert = "0.2.5"
webpki = { package = "rustls-webpki", version = "0.103.8" }
rustls-pki-types = "1.14.0"
rustls.workspace = true
olpc-cjson = "0.1.4"
const-oid = { version = "0.10", features = ["db"] }
cargo-lock = "11"
cargo_metadata = "0.23"
glob = "0.3"
reflink = "0.1.3"
walkdir = "2"
zstd = "0.14"
shell-words = "1.1"
sqlx = { version = "0.8", default-features = false, features = ["sqlite", "runtime-tokio-rustls", "macros"] }
fixedbitset = "0.5"

[dev-dependencies]
rcgen = { version = "0.14", default-features = false, features = ["ring", "pem"] }
stow-types.workspace = true
time = "0.3"

[lints]
workspace = true