holochain/
lib.rs

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