1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
use std::{ffi::OsString, io};

#[derive(Debug, Error)]
pub enum PackageError {
    #[error("{}: {}", _0, _1)]
    Crate(&'static str, String),

    #[error("`{}` creating: {}", _0, _1)]
    Creating(&'static str, io::Error),

    #[error("Failed to initialize package {:?} ({:?})", _0, _1)]
    FailedToInitialize(String, OsString),

    #[error("`{}` metadata: {}", _0, _1)]
    Removing(&'static str, io::Error),
}

impl From<std::io::Error> for PackageError {
    fn from(error: std::io::Error) -> Self {
        PackageError::Crate("std::io", format!("{}", error))
    }
}

impl From<crate::errors::GitignoreError> for PackageError {
    fn from(error: crate::errors::GitignoreError) -> Self {
        PackageError::Crate("leo-package", format!("{}", error))
    }
}

impl From<crate::errors::InputFileError> for PackageError {
    fn from(error: crate::errors::InputFileError) -> Self {
        PackageError::Crate("leo-package", format!("{}", error))
    }
}

impl From<crate::errors::InputsDirectoryError> for PackageError {
    fn from(error: crate::errors::InputsDirectoryError) -> Self {
        PackageError::Crate("leo-package", format!("{}", error))
    }
}

impl From<crate::errors::ImportsDirectoryError> for PackageError {
    fn from(error: crate::errors::ImportsDirectoryError) -> Self {
        PackageError::Crate("leo-package", format!("{}", error))
    }
}

impl From<crate::errors::OutputsDirectoryError> for PackageError {
    fn from(error: crate::errors::OutputsDirectoryError) -> Self {
        PackageError::Crate("leo-package", format!("{}", error))
    }
}

impl From<crate::errors::READMEError> for PackageError {
    fn from(error: crate::errors::READMEError) -> Self {
        PackageError::Crate("leo-package", format!("{}", error))
    }
}

impl From<crate::errors::SourceDirectoryError> for PackageError {
    fn from(error: crate::errors::SourceDirectoryError) -> Self {
        PackageError::Crate("leo-package", format!("{}", error))
    }
}

impl From<crate::errors::StateFileError> for PackageError {
    fn from(error: crate::errors::StateFileError) -> Self {
        PackageError::Crate("leo-package", format!("{}", error))
    }
}

impl From<crate::errors::LibraryFileError> for PackageError {
    fn from(error: crate::errors::LibraryFileError) -> Self {
        PackageError::Crate("leo-package", format!("{}", error))
    }
}

impl From<crate::errors::ManifestError> for PackageError {
    fn from(error: crate::errors::ManifestError) -> Self {
        PackageError::Crate("leo-package", format!("{}", error))
    }
}

impl From<crate::errors::MainFileError> for PackageError {
    fn from(error: crate::errors::MainFileError) -> Self {
        PackageError::Crate("leo-package", format!("{}", error))
    }
}