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}