1use std::io;
2use thiserror::Error;
3use unity_version::error::VersionError;
4pub use crate::unity::error::*;
5#[derive(Error, Debug)]
6pub enum UnityHubError {
7 #[error("Unity Version error")]
8 VersionReadError(#[from] VersionError),
9
10 #[error("IO error")]
11 IoError(#[from] io::Error),
12
13 #[error("api hub config: '{0}' is missing")]
14 ConfigNotFound(String),
15
16 #[error("Unity Hub config directory missing")]
17 ConfigDirectoryNotFound,
18
19 #[error("failed to read Unity Hub config {config}")]
20 ReadConfigError {
21 config: String,
22 source: anyhow::Error,
23 },
24
25 #[error("can't write Unity Hub config: '{config}'")]
26 WriteConfigError {
27 config: String,
28 source: anyhow::Error,
29 },
30
31 #[error("failed to create config directory")]
32 FailedToCreateConfigDirectory {
33 source: io::Error,
34 },
35
36 #[error("failed to create config file for config {config}")]
37 FailedToCreateConfig {
38 config: String,
39 source: io::Error
40 },
41
42 #[error("Unity Hub editor install path not found")]
43 InstallPathNotFound,
44}