mirror of
https://github.com/TECHNOFAB11/bump2version.git
synced 2025-12-12 08:00:09 +01:00
feat: allow replacing multiple lines per file
This commit is contained in:
parent
053b7cb94b
commit
a576cb735f
5 changed files with 22 additions and 20 deletions
|
|
@ -35,8 +35,8 @@ pub(crate) struct Part {
|
|||
|
||||
#[derive(Debug, Clone, Deserialize)]
|
||||
pub(crate) struct File {
|
||||
/// Format to replace, eg. `current_version = "{version}"`
|
||||
pub(crate) format: String,
|
||||
/// Formats to replace, eg. `current_version = "{version}"`
|
||||
pub(crate) formats: Vec<String>,
|
||||
}
|
||||
|
||||
fn default_parse() -> String {
|
||||
|
|
|
|||
26
src/main.rs
26
src/main.rs
|
|
@ -84,22 +84,24 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|||
// Update version in specified files
|
||||
info!(amount = &files.len(), "Updating version in files");
|
||||
for path in files.clone() {
|
||||
let content = fs::read_to_string(path)?;
|
||||
let format = &config_files.get(path).unwrap().format.clone();
|
||||
let mut content = fs::read_to_string(path)?;
|
||||
let formats = &config_files.get(path).unwrap().formats.clone();
|
||||
|
||||
let old_line = format.replace("{version}", ¤t_version);
|
||||
if !content.contains(&old_line) {
|
||||
warn!(
|
||||
current_version,
|
||||
path, "Did not find current version in file"
|
||||
);
|
||||
for format in formats {
|
||||
let old_line = format.replace("{version}", ¤t_version);
|
||||
if !content.contains(&old_line) {
|
||||
warn!(
|
||||
current_version,
|
||||
path, "Did not find current version in file"
|
||||
);
|
||||
}
|
||||
|
||||
let new_line = format.replace("{version}", &new_version);
|
||||
content = content.replace(&old_line, &new_line);
|
||||
}
|
||||
|
||||
let new_line = format.replace("{version}", &new_version);
|
||||
let updated_content = content.replace(&old_line, &new_line);
|
||||
|
||||
if !dry_run {
|
||||
fs::write(path, updated_content)?;
|
||||
fs::write(path, content)?;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue