1#![deny(rustdoc::broken_intra_doc_links)]
2
3use crate::core::TaskResolver;
8
9use assemble_core::prelude::{Assemble, StartParameter};
10
11use crate::project_properties::ProjectProperties;
12use crate::utils::{FreightResult, TaskResult, TaskResultBuilder};
13
14#[macro_use]
15extern crate log;
16
17pub mod cli;
18pub mod core;
19pub mod ops;
20pub mod project_properties;
21pub mod utils;
22pub mod consts;
23pub mod startup;
24
25pub use crate::cli::FreightArgs;
26
27pub fn init_assemble<S: Into<StartParameter>>(args: S) -> FreightResult<Assemble> {
29 let start_parameter = args.into();
30 let assemble = Assemble::new(start_parameter);
31 Ok(assemble)
32}
33
34pub fn init_assemble_from_env() -> FreightResult<Assemble> {
36 let freight_args = FreightArgs::from_env();
37 init_assemble(freight_args)
38}