gitea-release/src/version/mod.rs

31 lines
750 B
Rust
Raw Normal View History

2020-05-31 17:05:32 +00:00
use anyhow::Result;
use std::{fs, path::PathBuf};
mod cargo;
2020-10-25 19:04:04 +00:00
pub(crate) fn read(fname: PathBuf) -> Result<String> {
2020-10-25 20:16:56 +00:00
let version = match read_fs(fname.clone()) {
Ok(version) => version,
Err(why) => {
log::debug!("can't read {:?}: {:?}", fname, why);
cargo::read().unwrap().unwrap()
}
};
Ok(version)
2020-05-31 17:05:32 +00:00
}
2020-10-25 19:04:04 +00:00
fn read_fs(fname: PathBuf) -> Result<String> {
2020-10-25 19:37:16 +00:00
log::debug!("reading version data from {:?}", fname);
2020-10-25 19:04:04 +00:00
Ok(fs::read_to_string(fname)?.trim().into())
}
2020-05-31 17:05:32 +00:00
#[cfg(test)]
mod tests {
#[test]
fn read_version() {
2020-10-25 20:16:56 +00:00
let _ = pretty_env_logger::try_init();
2020-10-25 19:04:04 +00:00
let version = super::read_fs("./testdata/VERSION".into()).unwrap();
2020-05-31 17:05:32 +00:00
assert_eq!(version, "0.1.0");
}
}