assemble_core/task/task_io.rs
1use crate::__export::ProjectResult;
2use crate::task::work_handler::output::Output;
3use crate::{Executable, Task};
4
5pub mod work;
6
7/// Configures the inputs and outputs of a task
8pub trait TaskIO<T: Task = Self> {
9 /// During the initialization of the task, configures the inputs and outputs of the task.
10 fn configure_io(_task: &mut Executable<T>) -> ProjectResult {
11 Ok(())
12 }
13
14 /// Recovers outputs from previous run if up-to-date
15 fn recover_outputs(&mut self, _output: &Output) -> ProjectResult {
16 Ok(())
17 }
18}