# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.67.0"
name = "tame-index"
version = "0.10.0"
description = "Provides access to local and remote cargo registry indices"
homepage = "https://github.com/EmbarkStudios/tame-index"
documentation = "https://docs.rs/tame-index"
readme = "README.md"
license = "Apache-2.0 OR MIT"
repository = "https://github.com/EmbarkStudios/tame-index"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[profile.dev.package.sha2]
opt-level = 3

[[bench]]
name = "sparse"
harness = false
required-features = ["sparse"]

[dependencies.bytes]
version = "1.4"
optional = true

[dependencies.camino]
version = "1.1"

[dependencies.crossbeam-channel]
version = "0.5"
optional = true

[dependencies.gix]
version = "0.61"
features = ["blocking-http-transport-reqwest"]
optional = true
default-features = false

[dependencies.home]
version = "0.5"

[dependencies.http]
version = "0.2"

[dependencies.memchr]
version = "2.5"

[dependencies.rayon]
version = "1.7"
optional = true

[dependencies.reqwest]
version = "0.11"
features = [
    "blocking",
    "gzip",
]
optional = true
default-features = false

[dependencies.semver]
version = "1.0"
features = ["serde"]

[dependencies.serde]
version = "1.0"
features = [
    "derive",
    "rc",
]

[dependencies.serde_json]
version = "1.0"

[dependencies.sha2]
version = "0.10"
features = ["std"]
optional = true
default-features = false

[dependencies.smol_str]
version = "0.2.0"
features = ["serde"]

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1.0"
features = [
    "rt-multi-thread",
    "time",
]
optional = true
default-features = false

[dependencies.toml-span]
version = "0.2"

[dependencies.twox-hash]
version = "1.6"
default-features = false

[dev-dependencies.cargo_metadata]
version = "0.18"

[dev-dependencies.rayon]
version = "1.7"

[dev-dependencies.tempfile]
version = "3.6"

[dev-dependencies.tiny-bench]
version = "0.3"

[features]
default = ["reqwest?/rustls-tls-webpki-roots"]
git = [
    "dep:gix",
    "dep:reqwest",
]
local = [
    "dep:sha2",
    "dep:bytes",
]
local-builder = [
    "local",
    "dep:reqwest",
]
native-certs = ["reqwest?/rustls-tls-native-roots"]
sparse = [
    "dep:reqwest",
    "dep:tokio",
    "dep:rayon",
    "dep:crossbeam-channel",
]

[target."cfg(unix)".dependencies.libc]
version = "0.2"
