1use semver::{Error as SemVerError, Version};
4use serde_json::Error as JsonError;
5use serde_yaml::Error as YamlError;
6use std::io::Error as IoError;
7use thiserror::Error;
8
9#[derive(Error, Debug)]
11pub enum Error {
12 #[error("I/O error")]
13 Io(#[from] IoError),
14 #[error("YAML serialization or deserialization error")]
15 Yaml(#[from] YamlError),
16 #[error("JSON serialization error")]
17 Serialize(#[from] JsonError),
18 #[error("Semantic Versioning parsing error")]
19 SemVerError(#[from] SemVerError),
20 #[error("Unsupported spec file version ({0})")]
21 UnsupportedSpecFileVersion(Version),
22}