Skip to main content

tracel_xtask/commands/
bump.rs

1use anyhow::Ok;
2
3use crate::{
4    endgroup, group,
5    prelude::{Context, Environment},
6    utils::{cargo::ensure_cargo_crate_is_installed, process::run_process},
7};
8
9#[tracel_xtask_macros::declare_command_args(None, BumpSubCommand)]
10pub struct BumpCmdArgs {}
11
12pub fn handle_command(args: BumpCmdArgs, _env: Environment, _ctx: Context) -> anyhow::Result<()> {
13    bump(&args.get_command())
14}
15
16fn bump(command: &BumpSubCommand) -> anyhow::Result<()> {
17    group!("Bump version: {command}");
18    ensure_cargo_crate_is_installed("cargo-edit", None, None, false)?;
19    run_process(
20        "cargo",
21        &["set-version", "--bump", &command.to_string()],
22        None,
23        None,
24        &format!("Error trying to bump {command} version"),
25    )?;
26    endgroup!();
27    Ok(())
28}