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(vec![
17        "app.yaml".to_string(),
18        "app.yml".to_string(),
19    ])?;
20    init_logger(&context)?;
21
22    trace!("setup - create default App instance");
23    let app = App::default();
24
25    trace!("setup - adding {} to App", &context);
26    app.add_context(context);
27
28    let context = get_auto_register_context()?;
29    trace!("setup - adding {} to App", &context);
30    app.add_context(context);
31
32    Ok(app)
33}