1use std::path::PathBuf;
2
3#[derive(thiserror::Error, Debug)]
4pub enum Error {
5 #[error("Failed to find path {0}")]
6 PathDoesNotExist(PathBuf),
7 #[error("Path {0} is relative")]
8 PathIsRelative(PathBuf),
9 #[error("Failed to find jar")]
10 JarNotFound,
11 #[error("IO error: {0}")]
12 Io(#[from] std::io::Error),
13 #[error("Failed to parse toml file")]
14 TomlError(#[from] toml::de::Error),
15 #[error("Failed to serialize toml file")]
16 TomlSerializeError(#[from] toml::ser::Error),
17 #[error("Request error: {0}")]
18 RequestError(#[from] reqwest::Error),
19 #[error("Failed to find builds")]
20 NoBuildsFound,
21 #[error("Failed to find versions")]
22 NoVersionsFound,
23 #[error("Failed to find stdout")]
24 NoStdout,
25 #[error("Failed to find jar")]
26 NoJarFound,
27 #[error("Failed to find server config")]
28 ServerConfigNotFound(PathBuf),
29 #[error("Failed to find plugin")]
30 PluginNotFound,
31 #[error("Failed to find plugin download (not on GitHub)")]
32 DownloadUrlNotGithub,
33 #[error("Failed to find plugin download")]
34 DownloadUrlNotFound,
35 #[error("Failed to find plugin download (not a jar)")]
36 DownloadUrlNotJar,
37}