improve error handling

This commit is contained in:
Robin Müller 2024-06-01 23:32:24 +02:00
parent 215364a6a5
commit e0e66e616d
3 changed files with 25 additions and 1 deletions

21
Cargo.lock generated
View File

@ -57,6 +57,7 @@ name = "libcsp-cargo-build"
version = "0.2.0" version = "0.2.0"
dependencies = [ dependencies = [
"cc", "cc",
"thiserror",
] ]
[[package]] [[package]]
@ -139,6 +140,26 @@ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]]
name = "thiserror"
version = "1.0.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]] [[package]]
name = "toml_datetime" name = "toml_datetime"
version = "0.6.6" version = "0.6.6"

View File

@ -12,3 +12,4 @@ categories = ["aerospace", "external-ffi-bindings", "no-std", "hardware-support"
[dependencies] [dependencies]
cc = "1" cc = "1"
thiserror = "1"

View File

@ -133,9 +133,11 @@ pub struct Builder {
build: cc::Build, build: cc::Build,
} }
#[derive(Debug, Copy, Clone, PartialEq, Eq)] #[derive(Debug, Copy, Clone, PartialEq, Eq, thiserror::Error)]
pub enum BuildCreationError { pub enum BuildCreationError {
#[error("The specified libcsp path does not exist")]
PathDoesNotExist, PathDoesNotExist,
#[error("The specified libcsp path does not have the expected format of the library")]
InvalidLibcspFormat, InvalidLibcspFormat,
} }