Cargo Features

[dependencies]
libherokubuildpack = { version = "0.21.0", default-features = false, features = ["download", "digest", "error", "log", "tar", "toml", "fs", "command", "buildpack_output", "write"] }
default = buildpack_output, command, digest, download, error, fs, 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

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

buildpack_output default

Affects libherokubuildpack::buildpack_output

write default command

Affects libherokubuildpack::write