sccache/Cargo.toml

188 строки
4.5 KiB
TOML

[package]
edition = "2021"
name = "sccache"
rust-version = "1.67.1"
version = "0.7.6"
categories = ["command-line-utilities", "development-tools::build-utils"]
description = "Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage."
keywords = ["ccache"]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/mozilla/sccache/"
[[bin]]
name = "sccache"
[[bin]]
name = "sccache-dist"
required-features = ["dist-server"]
[profile.release]
codegen-units = 1
lto = true
strip = true
[dependencies]
anyhow = { version = "1.0", features = ["backtrace"] }
ar = "0.9"
async-trait = "0.1"
base64 = "0.21"
bincode = "1"
blake3 = "1"
byteorder = "1.5"
bytes = "1"
chrono = "0.4"
clap = { version = "4.3.24", features = ["derive", "env", "wrap_help"] }
directories = "5.0.1"
encoding_rs = "0.8"
env_logger = "0.10"
filetime = "0.2"
flate2 = { version = "1.0", optional = true, default-features = false, features = [
"rust_backend",
] }
fs-err = "2.11"
futures = "0.3"
gzp = { version = "0.11.3", default-features = false, features = [
"deflate_rust",
] }
http = "0.2"
hyper = { version = "0.14.27", optional = true, features = ["server"] }
is-terminal = "0.4.10"
jobserver = "0.1"
jwt = { package = "jsonwebtoken", version = "9", optional = true }
libc = "0.2.152"
linked-hash-map = "0.5"
log = "0.4"
memchr = "2"
mime = "0.3"
num_cpus = "1.16"
number_prefix = "0.4"
once_cell = "1.19"
opendal = { version = "0.44.1", optional = true }
openssl = { version = "0.10.62", optional = true }
rand = "0.8.4"
regex = "1.10.2"
reqsign = { version = "0.14.1", optional = true }
reqwest = { version = "0.11", features = [
"json",
"blocking",
"stream",
"rustls-tls",
"trust-dns",
], optional = true }
retry = "2"
semver = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sha2 = { version = "0.10.8", optional = true }
strip-ansi-escapes = "0.2"
tar = "0.4.40"
tempfile = "3"
tokio = { version = "1", features = [
"rt-multi-thread",
"io-util",
"time",
"net",
"process",
"macros",
] }
tokio-serde = "0.8"
tokio-util = { version = "0.7", features = ["codec", "io"] }
toml = "0.8"
tower = "0.4"
url = { version = "2", optional = true }
uuid = { version = "1.6", features = ["v4"] }
walkdir = "2"
# by default which pulls in an outdated failure version
which = { version = "5", default-features = false }
zip = { version = "0.6", default-features = false }
zstd = "0.13"
# dist-server only
memmap2 = "0.9.3"
nix = { version = "0.27.1", optional = true, features = [
"mount",
"user",
"sched",
"signal",
"process",
] }
object = "0.32"
rouille = { version = "3.6", optional = true, default-features = false, features = [
"ssl",
] }
syslog = { version = "6", optional = true }
version-compare = { version = "0.1.1", optional = true }
[dev-dependencies]
assert_cmd = "2.0.12"
cc = "1.0"
chrono = "0.4.31"
filetime = "0.2"
itertools = "0.12"
predicates = "=3.0.3"
serial_test = "2.0"
temp-env = "0.3.6"
test-case = "3.3.1"
thirtyfour_sync = "0.27"
[target.'cfg(unix)'.dependencies]
daemonize = "0.5"
[target.'cfg(not(target_os = "freebsd"))'.dependencies.libmount]
optional = true
version = "0.1.15"
[target.'cfg(windows)'.dependencies.winapi]
features = ["fileapi", "handleapi", "stringapiset", "winnls"]
version = "0.3"
[features]
all = [
"dist-client",
"redis",
"s3",
"memcached",
"gcs",
"azure",
"gha",
"webdav",
"oss",
]
azure = ["opendal", "reqsign"]
default = ["all"]
gcs = ["opendal", "reqsign", "url", "reqwest/blocking"]
gha = ["opendal"]
memcached = ["opendal/services-memcached"]
native-zlib = []
oss = ["opendal", "reqsign"]
redis = ["url", "opendal/services-redis"]
s3 = ["opendal", "reqsign"]
webdav = ["opendal"]
# Enable features that will build a vendored version of openssl and
# statically linked with it, instead of linking against the system-wide openssl
# dynamically or statically.
vendored-openssl = ["openssl?/vendored", "opendal?/native-tls-vendored"]
# Enable features that require unstable features of Nightly Rust.
unstable = []
# Enables distributed support in the sccache client
dist-client = ["flate2", "hyper", "reqwest", "url", "sha2"]
# Enables the sccache-dist binary
dist-server = [
"jwt",
"flate2",
"libmount",
"nix",
"openssl",
"reqwest",
"rouille",
"syslog",
"version-compare",
]
# Enables dist tests with external requirements
dist-tests = ["dist-client", "dist-server"]
[workspace]
exclude = ["tests/test-crate"]