summaryrefslogtreecommitdiff
path: root/src/bin
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-03-28 17:13:27 +0300
committerLars Wirzenius <liw@liw.fi>2021-03-29 10:38:23 +0300
commit3783b6ace86957c95e5137c7645af319dd2462e9 (patch)
treef4649980e94680e9c277611e4c7b7988d0591f96 /src/bin
parent53db547b3a4dc45aaa33b24f5b85da1e3397a38d (diff)
downloadbumper-rs-3783b6ace86957c95e5137c7645af319dd2462e9.tar.gz
feat: set version in Cargo.toml for Rust projects
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/bumper.rs5
-rw-r--r--src/bin/toml.rs20
2 files changed, 25 insertions, 0 deletions
diff --git a/src/bin/bumper.rs b/src/bin/bumper.rs
index 1a2e567..564b589 100644
--- a/src/bin/bumper.rs
+++ b/src/bin/bumper.rs
@@ -1,5 +1,6 @@
use bumper::errors::BumperError;
use bumper::git;
+use bumper::project::ProjectKind;
use log::{error, info};
use std::process::exit;
use structopt::StructOpt;
@@ -15,6 +16,10 @@ fn bumper() -> Result<(), BumperError> {
pretty_env_logger::init_custom_env("BUMPER_LOG");
info!("Bumper starts");
let opt = Opt::from_args();
+
+ let mut project = ProjectKind::detect(".")?;
+ project.set_version(&opt.version)?;
+
git::tag(&opt.version)?;
info!("Bumper ends OK");
Ok(())
diff --git a/src/bin/toml.rs b/src/bin/toml.rs
new file mode 100644
index 0000000..f796057
--- /dev/null
+++ b/src/bin/toml.rs
@@ -0,0 +1,20 @@
+use cargo_edit::Manifest;
+use toml_edit::{Item, Value};
+
+fn main() {
+ let mut m = Manifest::open(&None).unwrap();
+ let package = m
+ .get_table(&[String::from("package")])
+ .unwrap()
+ .as_table_mut()
+ .unwrap();
+ // println!("package: {:?}", package);
+
+ let version = package.entry("version");
+ *version = Item::Value(Value::from("1.2"));
+ println!("version: {:?}", version);
+
+ let mut f = Manifest::find_file(&None).unwrap();
+ println!("file: {:?}", f);
+ m.write_to_file(&mut f).unwrap();
+}