[package]
edition = "2024"
rust-version = "1.85"
name = "libcnb"
version = "0.30.3"
build = false
include = [
"src/**/*",
"LICENSE",
"README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A framework for writing Cloud Native Buildpacks in Rust"
documentation = "https://docs.rs/libcnb"
readme = "README.md"
keywords = [
"buildpacks",
"CNB",
]
license = "BSD-3-Clause"
repository = "https://github.com/heroku/libcnb.rs"
[features]
trace = [
"dep:opentelemetry",
"opentelemetry/trace",
"dep:opentelemetry_sdk",
"opentelemetry_sdk/trace",
"dep:opentelemetry-proto",
"opentelemetry-proto/trace",
"opentelemetry-proto/gen-tonic-messages",
"opentelemetry-proto/with-serde",
"dep:serde_json",
"dep:tracing",
"dep:tracing-opentelemetry",
"dep:tracing-subscriber",
]
[lib]
name = "libcnb"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1.0.102"
optional = true
[dependencies.cyclonedx-bom]
version = "0.8.0"
optional = true
[dependencies.libcnb-common]
version = "=0.30.3"
[dependencies.libcnb-data]
version = "=0.30.3"
[dependencies.libcnb-proc-macros]
version = "=0.30.3"
[dependencies.opentelemetry]
version = "0.31.0"
optional = true
default-features = false
[dependencies.opentelemetry-proto]
version = "0.31.0"
optional = true
default-features = false
[dependencies.opentelemetry_sdk]
version = "0.31.0"
optional = true
default-features = false
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
optional = true
[dependencies.thiserror]
version = "2.0.18"
[dependencies.toml]
version = "1.0.3"
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.tracing-opentelemetry]
version = "0.32"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
optional = true
[dev-dependencies.serde_json]
version = "1.0.149"
[dev-dependencies.tempfile]
version = "3.26.0"
[lints.clippy]
missing_errors_doc = "allow"
panic_in_result_fn = "warn"
unwrap_used = "warn"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unreachable_pub = "warn"
unsafe_code = "warn"
unused_crate_dependencies = "warn"