swift.rs
1 use crate::utils::{open_readme, read_file, write_file}; 2 use crate::{git, version::DEFAULT}; 3 use anyhow::Result; 4 5 pub const PACKAGE_SWIFT: &str = "Package.swift"; 6 7 pub fn get_current_version() -> String { 8 let tags = git::tags(); 9 10 if let Some(latest) = tags.first() { 11 latest.to_string() 12 } 13 else { 14 DEFAULT.into() 15 } 16 } 17 18 fn bump_readme(old_version: &str, new_version: &str) -> Result<()> { 19 let mut file = open_readme()?; 20 let content = read_file(&mut file)?; 21 22 // replace for installation section 23 let from = format!("from: \"{old_version}\""); 24 let to = format!("from: \"{new_version}\""); 25 let content = content.replace(&from, &to); 26 27 write_file(&mut file, content)?; 28 29 Ok(()) 30 } 31 32 pub fn bump_version(new_version: &str) -> Result<()> { 33 let old_version = get_current_version(); 34 35 bump_readme(&old_version, new_version)?; 36 37 Ok(()) 38 }