Cargo Features

[dependencies]
holochain = { version = "0.4.0-dev.7", default-features = false, features = ["tx2", "tx5", "metrics_influxive", "test_utils", "slow_tests", "glacial_tests", "build_wasms", "only_check_wasms", "sqlite-encrypted", "sqlite", "wasmer_debug_memory", "chc", "dpki", "sweettest"] }
default = metrics_influxive, sqlite-encrypted, tx2, tx5

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

tx2 default

Enables tx2 of kitsune_p2p

tx5 default = tx5-go-pion-turn

Enables tx5 of kitsune_p2p

Affects sweet_conductor_config_rendezvous::SweetRendezvous.sig_addr

metrics_influxive default

Use the "Influxive" opentelemetry metrics binding to write metrics to an InfluxDB time series database.

Enables influxive of holochain_metrics

test_utils sweettest? = arbitrary, contrafact, diff, holochain_test_wasm_common, kitsune_p2p_bootstrap, matches, sbd-server, unwrap_to

Exposes additional functionality only needed for integration tests.
This feature should be turned off for production builds.

Enables mock_network of holochain_p2p, fixt of kitsune_p2p_bin_data, fixt and test_utils of kitsune_p2p_types, test_utils of ghost_actor ^0.3.0-alpha.6, hdk, and holochain_cascade, test_utils of holochain_sqlite, holochain_state, holochain_types, holochain_zome_types, and kitsune_p2p

Affects holochain::fixt

slow_tests

Wasm ribosome tests take > 60 seconds - let's only run them in CI

glacial_tests

What's slower than slow? We may choose to not run these tests in CI to speed things up.

build_wasms

Includes the wasm build script, which we don't need when not building wasms

Enables build of holochain_wasm_test_utils

only_check_wasms

Enables only_check of holochain_wasm_test_utils

sqlite-encrypted default

Enables at-rest encryption of the SQLite database.
Incompatible with "sqlite".

Enables bundled-sqlcipher-vendored-openssl of rusqlite ^0.29, sqlite-encrypted of holo_hash, holochain_cascade, holochain_conductor_api, holochain_keystore, holochain_p2p, holochain_sqlite, holochain_state, holochain_types, holochain_zome_types, kitsune_p2p, kitsune_p2p_block, kitsune_p2p_bootstrap, and kitsune_p2p_types

sqlite sweettest?

Compile SQLite from source rather than depending on a library.
Incompatible with "sqlite-encrypted"

Enables bundled of rusqlite ^0.29, sqlite of holo_hash, holochain_cascade, holochain_conductor_api, holochain_keystore, holochain_p2p, holochain_sqlite, holochain_state, holochain_types, holochain_zome_types, kitsune_p2p, kitsune_p2p_block, kitsune_p2p_bootstrap, and kitsune_p2p_types

wasmer_debug_memory

Extremely verbose wasm memory read/write logging

Enables debug_memory of holochain_wasmer_host =0.0.94

chc = bytes, reqwest

Enable chain head coordination

Enables chc of holochain_conductor_api and holochain_types

Affects conductor::chc

dpki

Transitional feature flag for code that is only ready when DPKI integration lands.

sweettest = sqlite, test_utils

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

reminder - do not use workspace deps

contrafact test_utils?
diff test_utils?
hdk test_utils?
matches test_utils?
holochain_test_wasm_common test_utils?
kitsune_p2p_bootstrap sqlite? sqlite-encrypted test_utils?
unwrap_to test_utils?
sbd-server test_utils?

Enables sbd-server =0.0.3-alpha

tx5-go-pion-turn tx5
bytes chc?

Enables bytes

chc deps

reqwest chc?
arbitrary test_utils?

Enables arbitrary

Dependencies for test_utils