actr-pack 0.3.1

ACTR package format: ZIP STORE-based .actr file reading, writing, signing and verification
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum PackError {
    #[error("invalid package: {0}")]
    InvalidPackage(String),

    #[error("manifest.toml not found in package")]
    ManifestNotFound,

    #[error("manifest parse error: {0}")]
    ManifestParseError(String),

    #[error("manifest.sig not found in package")]
    SignatureNotFound,

    #[error("binary not found in package: {0}")]
    BinaryNotFound(String),

    #[error("binary hash mismatch: {path}")]
    BinaryHashMismatch { path: String },

    #[error("resource hash mismatch: {path}")]
    ResourceHashMismatch { path: String },

    #[error("proto file hash mismatch: {path}")]
    ProtoHashMismatch { path: String },

    #[error("manifest lock file hash mismatch: {path}")]
    LockFileHashMismatch { path: String },

    #[error("signature verification failed: {0}")]
    SignatureVerificationFailed(String),

    #[error("I/O error: {0}")]
    IoError(#[from] std::io::Error),

    #[error("ZIP error: {0}")]
    ZipError(#[from] zip::result::ZipError),
}