Cargo Features

[dependencies]
libherokubuildpack = { version = "0.26.1", default-features = false, features = ["download", "digest", "error", "inventory", "inventory-semver", "inventory-sha2", "log", "tar", "toml", "fs", "command", "write"] }
default = command, digest, download, error, fs, inventory, inventory-semver, inventory-sha2, log, tar, toml, write

These default features are set whenever libherokubuildpack is added without default-features = false somewhere in the dependency tree.

download default

Enables thiserror and ureq

Affects libherokubuildpack::download

digest default

Enables sha2

Affects libherokubuildpack::digest

error default = log

Enables libcnb

Affects libherokubuildpack::error

inventory default

Enables hex, serde, thiserror, and toml

Affects libherokubuildpack::inventory

inventory-semver default

Enables semver

inventory-sha2 default

Enables sha2

log default error

Enables termcolor

Affects libherokubuildpack::log

tar default

Enables flate2 and tar

flate2:

The default miniz_oxide flate2 backend has poor performance in debug/under QEMU: https://github.com/rust-lang/flate2-rs/issues/297 Ideally we'd use the fastest zlib-ng backend, however it fails to cross-compile: https://github.com/rust-lang/libz-sys/issues/93 As such we have to use the next best alternate backend, which is zlib.

Affects libherokubuildpack::tar

toml default

Enables toml

Affects libherokubuildpack::toml

fs default

Enables pathdiff

Affects libherokubuildpack::fs

command default = write

Enables crossbeam-utils

Affects libherokubuildpack::command

write default command

Affects libherokubuildpack::write