2021-08-13 19:51:11 +00:00
|
|
|
#![doc = include_str!("../README.md")]
|
2022-01-19 13:40:50 +00:00
|
|
|
#![feature(min_specialization)]
|
2021-08-13 19:51:11 +00:00
|
|
|
|
|
|
|
#[doc(inline)]
|
2021-07-03 07:03:52 +00:00
|
|
|
pub use preserves::value;
|
|
|
|
|
2021-08-19 19:47:20 +00:00
|
|
|
#[doc(inline)]
|
|
|
|
pub use preserves;
|
|
|
|
|
2021-09-20 13:10:31 +00:00
|
|
|
#[doc(inline)]
|
|
|
|
pub use preserves_schema;
|
|
|
|
|
2021-07-03 07:03:52 +00:00
|
|
|
pub mod actor;
|
2020-05-11 18:51:04 +00:00
|
|
|
pub mod bag;
|
2021-09-23 19:43:32 +00:00
|
|
|
pub mod dataflow;
|
2020-05-11 18:51:04 +00:00
|
|
|
pub mod dataspace;
|
2021-07-08 22:04:11 +00:00
|
|
|
pub mod during;
|
2021-07-03 07:03:52 +00:00
|
|
|
pub mod error;
|
2021-08-14 01:25:31 +00:00
|
|
|
#[doc(hidden)]
|
2021-07-03 07:03:52 +00:00
|
|
|
pub mod pattern;
|
2021-07-06 18:56:36 +00:00
|
|
|
pub mod relay;
|
2021-07-15 07:13:31 +00:00
|
|
|
pub mod rewrite;
|
2021-08-30 21:41:51 +00:00
|
|
|
pub mod supervise;
|
2021-08-11 22:03:43 +00:00
|
|
|
|
|
|
|
pub mod schemas {
|
2021-08-14 01:25:31 +00:00
|
|
|
//! Auto-generated codecs for [Syndicate protocol
|
|
|
|
//! schemas](https://git.syndicate-lang.org/syndicate-lang/syndicate-protocols/src/branch/main/schemas).
|
2021-08-11 22:03:43 +00:00
|
|
|
include!(concat!(env!("OUT_DIR"), "/src/schemas/mod.rs"));
|
|
|
|
}
|
|
|
|
|
2020-05-11 18:51:04 +00:00
|
|
|
pub mod skeleton;
|
2021-07-15 07:13:31 +00:00
|
|
|
pub mod sturdy;
|
2022-01-19 13:40:50 +00:00
|
|
|
pub mod trace;
|
2020-05-11 18:51:04 +00:00
|
|
|
|
2021-08-13 19:51:11 +00:00
|
|
|
#[doc(inline)]
|
2021-07-15 07:13:31 +00:00
|
|
|
pub use during::entity;
|
|
|
|
|
2022-01-19 13:40:50 +00:00
|
|
|
/// Sets up [`tracing`] logging in a reasonable way.
|
|
|
|
///
|
|
|
|
/// Useful at the top of `main` functions.
|
|
|
|
pub fn convenient_logging() -> Result<(), Box<dyn std::error::Error>> {
|
|
|
|
let filter = match std::env::var(tracing_subscriber::filter::EnvFilter::DEFAULT_ENV) {
|
|
|
|
Err(std::env::VarError::NotPresent) =>
|
|
|
|
tracing_subscriber::filter::EnvFilter::default()
|
|
|
|
.add_directive(tracing_subscriber::filter::LevelFilter::INFO.into()),
|
|
|
|
_ =>
|
|
|
|
tracing_subscriber::filter::EnvFilter::try_from_default_env()?,
|
|
|
|
};
|
|
|
|
let subscriber = tracing_subscriber::fmt()
|
|
|
|
.with_ansi(true)
|
|
|
|
.with_thread_ids(true)
|
|
|
|
.with_max_level(tracing::Level::TRACE)
|
|
|
|
.with_env_filter(filter)
|
|
|
|
.with_writer(std::io::stderr)
|
|
|
|
.finish();
|
|
|
|
tracing::subscriber::set_global_default(subscriber)
|
|
|
|
.expect("Could not set tracing global subscriber");
|
|
|
|
Ok(())
|
|
|
|
}
|
2021-09-19 14:53:37 +00:00
|
|
|
|
|
|
|
preserves_schema::define_language!(language(): Language<actor::AnyValue> {
|
|
|
|
syndicate: schemas::Language,
|
|
|
|
});
|