shell-cell 1.6.3

Shell-Cell. CLI app to spawn and manage containerized shell environments
use std::path::PathBuf;

use crate::scell::types::name::TargetName;

#[derive(Debug, PartialEq, thiserror::Error)]
#[error(
    "Cannot resolve a directory location at {0} while processing 'from' statement for target '{1}' at '{2}'"
)]
pub struct DirNotFoundFromStmt(pub PathBuf, pub TargetName, pub PathBuf);

#[derive(Debug, PartialEq, thiserror::Error)]
#[error(
    "Cannot load Shell-Cell file at '{0}' while processing 'from' statement for target '{1}' at '{2}'"
)]
pub struct FileLoadFromStmt(pub PathBuf, pub TargetName, pub PathBuf);

#[derive(Debug, PartialEq, thiserror::Error)]
#[error("Shell-Cell file '{0}' does not contain a target '{1}'")]
pub struct MissingTarget(pub TargetName, pub PathBuf);

#[derive(Debug, PartialEq, thiserror::Error)]
#[error(
    "A circular dependency was identified within the target chain. While processing 'from' statement for '{0}' at '{1}'"
)]
pub struct CircularTargets(pub TargetName, pub PathBuf);

#[derive(Debug, PartialEq, thiserror::Error)]
#[error(
    "Cannot resolve a 'mount' host path location at {0} while processing 'config' statement for target '{1}' at '{2}'"
)]
pub struct MountHostDirNotFound(pub PathBuf, pub TargetName, pub PathBuf);

#[derive(Debug, PartialEq, thiserror::Error)]
#[error("Shell-Cell file '{0}' does not contain an entrypoint target '{1}'")]
pub struct MissingEntrypoint(pub PathBuf, pub TargetName);

#[derive(Debug, PartialEq, thiserror::Error)]
#[error("Shell-Cell must have at least one 'shell' statement in the target chain")]
pub struct MissingShellStmt;

#[derive(Debug, PartialEq, thiserror::Error)]
#[error("Shell-Cell must have at least one 'hang' statement in the target chain")]
pub struct MissingHangStmt;

#[derive(Debug, PartialEq, thiserror::Error)]
#[error(
    "File or directory does not exist at {0} while processing 'copy' statement for target '{1}' at '{2}'"
)]
pub struct CopySrcNotFound(pub PathBuf, pub TargetName, pub PathBuf);

#[derive(Debug, PartialEq, thiserror::Error)]
#[error(
    "Dockerfile does not exist at {0} while processing 'from_docker' statement for target '{1}' at '{2}'"
)]
pub struct DockerfileNotFound(pub PathBuf, pub TargetName, pub PathBuf);