origin_app/lib.rs
1//! The composition root (ADR-0004).
2//!
3//! A product assembles its application here — and nowhere else. There is no global
4//! state and no runtime service lookup by string: a missing dependency is a build
5//! error, and the builder call itself documents the product's architecture.
6//!
7//! ```
8//! # use origin_app::ApplicationBuilder;
9//! let app = ApplicationBuilder::in_memory().build().unwrap();
10//! assert!(app.modules().is_empty());
11//! ```
12
13mod application;
14mod builder;
15mod module;
16mod platform;
17
18pub use application::{AppInfo, Application};
19pub use builder::{ApplicationBuilder, BuildError};
20pub use module::{ApplicationModule, ModuleRegistry};
21pub use platform::Platform;