summaryrefslogtreecommitdiff
path: root/src/errors.rs
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-03-28 17:13:27 +0300
committerLars Wirzenius <liw@liw.fi>2021-03-29 10:38:23 +0300
commit3783b6ace86957c95e5137c7645af319dd2462e9 (patch)
treef4649980e94680e9c277611e4c7b7988d0591f96 /src/errors.rs
parent53db547b3a4dc45aaa33b24f5b85da1e3397a38d (diff)
downloadbumper-rs-3783b6ace86957c95e5137c7645af319dd2462e9.tar.gz
feat: set version in Cargo.toml for Rust projects
Diffstat (limited to 'src/errors.rs')
-rw-r--r--src/errors.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/errors.rs b/src/errors.rs
index 607eecb..282b5c5 100644
--- a/src/errors.rs
+++ b/src/errors.rs
@@ -1,5 +1,31 @@
+use std::path::PathBuf;
+
#[derive(Debug, thiserror::Error)]
pub enum BumperError {
+ #[error("Can't figure out what kind of project: {0}")]
+ UnknownProjectKind(PathBuf),
+
+ #[error("Couldn't read file {0}: {1}")]
+ Read(PathBuf, #[source] std::io::Error),
+
+ #[error("Couldn't write file {0}: {1}")]
+ Write(PathBuf, #[source] std::io::Error),
+
+ #[error("Couldn't find Cargo.toml in {0}: {1}")]
+ CargoTomlNotFound(PathBuf, #[source] cargo_edit::Error),
+
+ #[error("Couldn't parse Cargo.toml from {0}: {1}")]
+ FromToml(PathBuf, #[source] cargo_edit::Error),
+
+ #[error("Couldn't create Cargo.toml manifest to {0}: {1}")]
+ WriteToml(PathBuf, #[source] cargo_edit::Error),
+
+ #[error("Cargo.toml doesn't have a 'package' table")]
+ NoPackage(#[source] cargo_edit::Error),
+
+ #[error("'project' in Cargo.toml is not a table")]
+ ProjectNotTable,
+
#[error("Failed to run git: {0}")]
GitInvoke(#[source] std::io::Error),