sccache/Cargo.toml

137 строки
4.3 KiB
TOML

[package]
name = "sccache"
version = "0.2.16-alpha.0"
authors = ["Ted Mielczarek <ted@mielczarek.org>", "Alex Crichton <alex@alexcrichton.com>"]
license = "Apache-2.0"
description = "Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible, storing a cache in a remote storage using the S3 API."
repository = "https://github.com/mozilla/sccache/"
readme = "README.md"
categories = ["command-line-utilities", "development-tools::build-utils"]
keywords = ["ccache"]
edition = "2018"
[[bin]]
name = "sccache"
[[bin]]
name = "sccache-dist"
required-features = ["dist-server"]
[dependencies]
anyhow = "1.0"
ar = "0.9"
async-trait = "0.1"
atty = "0.2.6"
base64 = "0.13"
bincode = "1"
blake3 = "0.3"
byteorder = "1.0"
bytes = "1"
chrono = { version = "0.4", optional = true }
clap = "2.23.0"
counted-array = "0.1"
directories = "4.0.1"
env_logger = "0.9"
filetime = "0.2"
flate2 = { version = "1.0", optional = true, default-features = false, features = ["rust_backend"] }
futures = "0.3"
futures-locks = "0.7"
hmac = { version = "0.12.0", optional = true }
http = "0.2"
hyper = { version = "0.14", optional = true, features = ["server"] }
hyperx = { version = "1.0", optional = true }
jobserver = "0.1"
jsonwebtoken = { version = "7", optional = true }
lazy_static = "1.0.0"
libc = "0.2.10"
linked-hash-map = "0.5"
local-encoding = "0.2.0"
log = "0.4"
md-5 = { version = "0.10.0", optional = true }
memcached-rs = { version = "0.4" , optional = true }
num_cpus = "1.0"
number_prefix = "0.4"
openssl = { version = "0.10", optional = true }
percent-encoding = { version = "2", optional = true }
rand = "0.8.4"
redis = { version = "0.21", optional = true, default-features = false, features = ["aio", "tokio-comp", "tokio-native-tls-comp"] }
regex = "1"
reqwest = { version = "0.11", features = ["json", "blocking", "stream"], optional = true }
retry = "1"
ring = { version = "0.16", optional = true, features = ["std"] }
sha-1 = { version = "0.10.0", optional = true }
sha2 = { version = "0.10.1", optional = true }
serde = "1.0"
serde_derive = "1.0"
serde_json = "1.0"
strip-ansi-escapes = "0.1"
tar = "0.4"
tempfile = "3"
tokio = { version = "1", features = ["rt-multi-thread", "io-util", "time", "net", "process", "macros"] }
tokio-serde = "0.8"
tokio-util = { version = "0.6", features = ["codec", "io"] }
tower = "0.4"
toml = "0.5"
url = { version = "2", optional = true }
uuid = { version = "0.8", features = ["v4"] }
walkdir = "2"
# by default which pulls in an outdated failure version
which = { version = "4", default-features = false }
zip = { version = "0.5", default-features = false }
zstd = "0.6"
# dist-server only
crossbeam-utils = { version = "0.8", optional = true }
libmount = { version = "0.1.10", optional = true }
nix = { version = "0.23.1", optional = true }
rouille = { version = "~3.4", optional = true, default-features = false, features = ["ssl"] }
syslog = { version = "5", optional = true }
void = { version = "1", optional = true }
version-compare = { version = "0.1.0", optional = true }
[dev-dependencies]
assert_cmd = "=2.0.4"
cc = "1.0"
chrono = "0.4"
itertools = "0.10"
predicates = "=2.1.1"
thirtyfour_sync = "0.27"
once_cell = "1.9"
serial_test = "0.5"
wiremock = "0.4.9"
[target.'cfg(unix)'.dependencies]
daemonize = "0.4"
[target.'cfg(windows)'.dependencies]
parity-tokio-ipc = "0.9"
[target.'cfg(windows)'.dependencies.winapi]
version = "0.3"
features = [
"fileapi",
"handleapi",
"winnls",
]
[features]
default = ["all"]
all = ["dist-client", "redis", "s3", "memcached", "gcs", "azure"]
azure = ["chrono", "hyper", "hyperx", "reqwest", "url", "hmac", "md-5", "sha2"]
s3 = ["chrono", "hyper", "hyperx", "reqwest", "simple-s3", "hmac", "sha-1"]
simple-s3 = []
gcs = ["chrono", "hyper", "hyperx", "percent-encoding", "reqwest", "ring", "url"]
memcached = ["memcached-rs"]
native-zlib = []
# Enable features that require unstable features of Nightly Rust.
unstable = []
# Enables distributed support in the sccache client
dist-client = ["flate2", "hyper", "hyperx", "reqwest", "url", "sha2"]
# Enables the sccache-dist binary
dist-server = ["crossbeam-utils", "jsonwebtoken", "flate2", "hyperx", "libmount", "nix", "openssl", "reqwest", "rouille", "syslog", "void", "version-compare"]
# Enables dist tests with external requirements
dist-tests = ["dist-client", "dist-server"]
[workspace]
exclude = ["tests/test-crate"]