[package]
name = "sbom-cli"
description = "A CLI to work with SBOM data"
version = "0.8.4"
edition = "2021"
authors = ["Jens Reimann <ctron@dentrassi.de>"]
license = "Apache-2.0"
repository = "https://github.com/ctron/csaf-walker"
categories = ["command-line-utilities", "data-structures"]
keywords = ["sbom", "cli"]
readme = "README.md"
# based on async traits
rust-version = "1.75"

[dependencies]
anyhow = "1"
async-trait = "0.1"
bzip2-rs = { version = "0.1", features = ["rustc_1_51"] }
clap = { version = "4.5.0", features = ["derive", "color"] }
csaf = { version = "0.5.0", default-features = false }
env_logger = "0.11.2"
flexible-time = "0.1.1"
html-escape = "0.2.13"
humantime = "2"
log = "0.4.17"
parking_lot = "0.12"
reqwest = { version = "0.12", features = ["json"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
spdx-expression = "0.5"
spdx-rs = "0.5"
thiserror = "1"
time = "0.3.20"
tokio = { version = "1", features = ["full"] }

walker-common = { version = "0.8.4", path = "../../common", features = ["openpgp", "cli"] }
walker-extras = { version = "0.8.4", path = "../../extras" }
sbom-walker = { version = "0.8.4", path = "..", default-features = false, features = ["cyclonedx-bom", "spdx-rs"] }

# just there for the feature
openssl = { version = "0.10", optional = true }

[features]
default = ["crypto-nettle"]
crypto-cng = ["sbom-walker/crypto-cng"]
crypto-nettle = ["sbom-walker/crypto-nettle"]
crypto-openssl = ["sbom-walker/crypto-openssl"]
crypto-botan = ["sbom-walker/crypto-botan"]
crypto-rust = ["sbom-walker/crypto-rust"]

vendored = ["openssl/vendored"]

[package.metadata.cargo-all-features]
always_include_features = [
    "crypto-nettle",
]
denylist = [
    "crypto-cng",
    "crypto-openssl",
    "crypto-botan",
    "crypto-rust",
]

[[bin]]
name = "sbom"
path = "src/main.rs"

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/sbom-{ target }{ binary-ext }"
pkg-fmt = "bin"

