use crate::{executer::Output, step};
#[derive(thiserror::Error, Debug)]
pub enum Error {
#[error("Step failed: {:?}.\ndescription: {description}.\nstatus code: {:?}.\nstdout: {}.\nstderr: {}", kind, command_output.status_code, command_output.stdout, command_output.stderr)]
StepError {
kind: step::Kind,
description: String,
command_output: Output,
},
#[error(transparent)]
IO(#[from] std::io::Error),
#[error("UTF-8 conversion error: {0}")]
Utf8(#[from] std::str::Utf8Error),
#[error("{0}")]
Any(String),
}
pub type Result<T, E = Error> = std::result::Result<T, E>;