vine_core/
lib.rs

1use log::{trace};
2
3use crate::app::App;
4use crate::config::get_config_context;
5use crate::context::auto_register_context::get_auto_register_context;
6use crate::core::Error;
7use crate::logger::init_logger;
8
9pub mod core;
10pub mod context;
11pub mod app;
12pub mod logger;
13pub mod config;
14
15pub fn create_app() -> Result<App, Error> {
16    let context = get_config_context()?;
17    init_logger(&context)?;
18
19    trace!("setup - create default App instance");
20    let app = App::default();
21
22    trace!("setup - adding {} to App", &context);
23    app.add_context(context);
24
25    let context = get_auto_register_context()?;
26    trace!("setup - adding {} to App", &context);
27    app.add_context(context);
28
29    Ok(app)
30}