holochain/
lib.rs

1//! All the components you need to build a Holochain Conductor
2
3// TODO investigate this lint
4#![allow(clippy::result_large_err)]
5// We have a lot of usages of type aliases to `&String`, which clippy objects to.
6#![allow(clippy::ptr_arg)]
7#![recursion_limit = "256"]
8
9#[cfg(doc)]
10pub mod docs;
11
12#[cfg(feature = "hdk")]
13pub use hdk::HDI_VERSION;
14
15#[cfg(feature = "hdk")]
16pub use hdk::HDK_VERSION;
17
18/// Current Holochain Conductor rust crate version.
19pub const HOLOCHAIN_VERSION: &str = env!("CARGO_PKG_VERSION");
20
21pub mod conductor;
22#[allow(missing_docs)]
23pub mod core;
24#[allow(missing_docs)]
25#[cfg(feature = "test_utils")]
26pub mod fixt;
27
28#[cfg(any(test, feature = "test_utils"))]
29#[deny(missing_docs)]
30pub mod sweettest;
31#[cfg(any(test, feature = "test_utils"))]
32#[deny(missing_docs)]
33pub mod test_utils;
34
35// this is here so that wasm ribosome macros can reference it
36pub use holochain_wasmer_host;
37pub use tracing;
38
39// TODO can probably move these to integration test once
40// we work out the test utils stuff
41#[cfg(test)]
42mod local_network_tests;
43
44pub mod prelude {
45    pub use holo_hash;
46    pub use holochain_p2p::{AgentPubKeyExt, DhtOpHashExt, DnaHashExt, HolochainP2pSender};
47
48    #[cfg(feature = "hdk")]
49    pub use hdk::link::GetLinksInputBuilder;
50
51    pub use holochain_types::prelude::{fixt, *};
52
53    #[cfg(feature = "fuzzing")]
54    pub use kitsune_p2p::{NOISE, *};
55
56    #[cfg(feature = "test_utils")]
57    pub use holochain_types::inline_zome::*;
58}
59
60#[cfg(all(feature = "wasmer_sys", feature = "wasmer_wamr"))]
61compile_error!(
62    "feature \"wasmer_sys\" and feature \"wasmer_wamr\" cannot be enabled at the same time"
63);
64
65#[cfg(all(not(feature = "wasmer_sys"), not(feature = "wasmer_wamr"),))]
66compile_error!("One of: `wasmer_sys`, `wasmer_wamr` features must be enabled. Please, pick one.");