diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bf571e..d15c4c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +## 0.7.1 + +Fix a minor parsing bug + ## 0.7.0 Support reading version data from `Cargo.toml` diff --git a/Cargo.lock b/Cargo.lock index 17b6a1c..39dd38c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -359,7 +359,7 @@ dependencies = [ [[package]] name = "gitea-release" -version = "0.7.0" +version = "0.7.1" dependencies = [ "anyhow", "cargo_toml", diff --git a/Cargo.toml b/Cargo.toml index f8a42f6..154ad3d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gitea-release" -version = "0.7.0" +version = "0.7.1" authors = ["Christine Dodrill "] edition = "2018" diff --git a/src/version/cargo.rs b/src/version/cargo.rs index 6f16407..c4ef009 100644 --- a/src/version/cargo.rs +++ b/src/version/cargo.rs @@ -6,6 +6,7 @@ use std::io::Read; fn get_file_as_byte_vec(filename: &str) -> Option> { let f = File::open(&filename); if f.is_err() { + log::debug!("can't read from Cargo.toml: {:?}", f.unwrap_err()); return None; } let mut f = f.unwrap(); @@ -17,12 +18,25 @@ fn get_file_as_byte_vec(filename: &str) -> Option> { } pub fn read() -> Result> { + log::debug!("reading version from Cargo.toml"); let bytes = get_file_as_byte_vec("Cargo.toml"); + log::debug!("{:?}", bytes); match bytes { Some(bytes) => { - let pkg: Manifest = toml::from_slice(&bytes)?; - Ok(Some(pkg.package.unwrap().version)) + log::trace!("reading toml"); + let pkg : Result = toml::from_slice(&bytes); + match pkg { + Err(why) => { + log::error!("error parsing Cargo.toml: {:?}", why); + Err(why.into()) + } + Ok(pkg) => { + let version = pkg.package.unwrap().version; + log::trace!("got version {}", version); + Ok(Some(version)) + } + } } None => Ok(None) } diff --git a/src/version/mod.rs b/src/version/mod.rs index 65deeec..1594d94 100644 --- a/src/version/mod.rs +++ b/src/version/mod.rs @@ -4,13 +4,12 @@ use std::{fs, path::PathBuf}; mod cargo; pub(crate) fn read(fname: PathBuf) -> Result { - let version = cargo::read() - .unwrap() - .unwrap_or(read_fs(fname)?); + let version = read_fs(fname).unwrap_or(cargo::read().unwrap().unwrap()); Ok(version) } fn read_fs(fname: PathBuf) -> Result { + log::debug!("reading version data from {:?}", fname); Ok(fs::read_to_string(fname)?.trim().into()) }