diff --git a/src/main.rs b/src/main.rs index cda4db9..439ec64 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,6 +6,7 @@ use structopt::StructOpt; mod changelog; mod cmd; mod gitea; +mod version; #[derive(StructOpt, Debug)] pub(crate) struct Common { diff --git a/src/version.rs b/src/version.rs new file mode 100644 index 0000000..2a8e6d2 --- /dev/null +++ b/src/version.rs @@ -0,0 +1,16 @@ +use anyhow::Result; +use std::{fs, path::PathBuf}; + +fn read_version(fname: PathBuf) -> Result { + let version = fs::read_to_string(fname)?; + Ok(version.trim().into()) +} + +#[cfg(test)] +mod tests { + #[test] + fn read_version() { + let version = super::read_version("./testdata/VERSION".into()).unwrap(); + assert_eq!(version, "0.1.0"); + } +} diff --git a/testdata/VERSION b/testdata/VERSION new file mode 100644 index 0000000..6e8bf73 --- /dev/null +++ b/testdata/VERSION @@ -0,0 +1 @@ +0.1.0