1use std::{process::ExitStatus, sync::mpsc::Sender};
2
3use crate::{exec, Extension};
4use anyhow::Error;
5use fluentci_types::Output;
6
7#[derive(Default)]
8pub struct Runner {}
9
10impl Extension for Runner {
11 fn exec(
12 &mut self,
13 cmd: &str,
14 tx: Sender<String>,
15 out: Output,
16 last_cmd: bool,
17 work_dir: &str,
18 ) -> Result<ExitStatus, Error> {
19 if cmd.is_empty() {
20 return Ok(ExitStatus::default());
21 }
22
23 exec(cmd, tx, out, last_cmd, work_dir)
24 }
25
26 fn setup(&self) -> Result<(), Error> {
27 Ok(())
28 }
29}