git.delta.rocks / jrsonnet / refs/commits / bb34d421e2a0

difftreelog

refactor replace clap with structopt

Yaroslav Bolyukin2021-09-30parent: #b47cfbf.patch.diff
in: trunk

6 files changed

modifiedCargo.lockdiffbeforeafterboth
before · Cargo.lock
183 packageslockfile v3
after · Cargo.lock
177 packageslockfile v3
modifiedCargo.tomldiffbeforeafterboth
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -7,7 +7,6 @@
 
 [dependencies]
 anyhow = "1.0"
-clap = { version = "3.0.0-beta.2", features = ["derive", "suggestions", "color"] }
 log = "0.4.14"
 env_logger = "0.9.0"
 serde = { version = "1.0", features = ["derive"] }
@@ -23,6 +22,7 @@
 base64 = "0.13.0"
 chrono = { version = "0.4.19", features = ["serde"] }
 z85 = "3.0.3"
+structopt = "0.3.23"
 
 [workspace]
 members = ["crates/nixlike", "cmds/install-secrets"]
modifiedsrc/cmds/build_systems.rsdiffbeforeafterboth
--- a/src/cmds/build_systems.rs
+++ b/src/cmds/build_systems.rs
@@ -2,28 +2,27 @@
 
 use crate::{command::CommandExt, host::Config, nix::SYSTEMS_ATTRIBUTE};
 use anyhow::Result;
-use clap::Clap;
 use log::info;
+use structopt::StructOpt;
 
-#[derive(Clap)]
-#[clap(group = clap::ArgGroup::new("target"))]
+#[derive(StructOpt)]
 pub struct BuildSystems {
 	/// --builders arg for nix
-	#[clap(long)]
+	#[structopt(long)]
 	builders: Option<String>,
 	/// Jobs to run locally
-	#[clap(long)]
+	#[structopt(long)]
 	jobs: Option<usize>,
 	/// Do not continue on error
-	#[clap(long)]
+	#[structopt(long)]
 	fail_fast: bool,
-	#[clap(long)]
+	#[structopt(long)]
 	privileged_build: bool,
-	#[clap(subcommand)]
+	#[structopt(subcommand)]
 	subcommand: Option<Subcommand>,
 }
 
-#[derive(Clap)]
+#[derive(StructOpt)]
 enum Subcommand {
 	/// Switch to built system until reboot
 	Test,
modifiedsrc/cmds/secrets/mod.rsdiffbeforeafterboth
--- a/src/cmds/secrets/mod.rs
+++ b/src/cmds/secrets/mod.rs
@@ -1,9 +1,9 @@
 use crate::{fleetdata::FleetSecret, host::Config};
 use anyhow::{bail, Result};
-use clap::Clap;
 use std::io::{self, Cursor, Read};
+use structopt::StructOpt;
 
-#[derive(Clap)]
+#[derive(StructOpt)]
 pub enum Secrets {
 	/// Force load keys for all defined hosts
 	ForceKeys,
@@ -14,9 +14,9 @@
 		/// Secret owners
 		machines: Vec<String>,
 		/// Override secret if already present
-		#[clap(long)]
+		#[structopt(long)]
 		force: bool,
-		#[clap(long)]
+		#[structopt(long)]
 		public: Option<String>,
 	},
 }
modifiedsrc/host.rsdiffbeforeafterboth
--- a/src/host.rs
+++ b/src/host.rs
@@ -9,7 +9,8 @@
 };
 
 use anyhow::Result;
-use clap::Clap;
+use structopt::clap::ArgGroup;
+use structopt::StructOpt;
 
 use crate::{command::CommandExt, fleetdata::FleetData};
 
@@ -102,19 +103,19 @@
 	}
 }
 
-#[derive(Clap, Clone)]
-#[clap(group = clap::ArgGroup::new("target_hosts"))]
+#[derive(StructOpt, Clone)]
+#[structopt(group = ArgGroup::with_name("target_hosts"))]
 pub struct FleetOpts {
 	/// All hosts except those would be skipped
-	#[clap(long, number_of_values = 1, group = "target_hosts")]
+	#[structopt(long, number_of_values = 1, group = "target_hosts")]
 	only: Vec<String>,
 
 	/// Hosts to skip
-	#[clap(long, number_of_values = 1, group = "target_hosts")]
+	#[structopt(long, number_of_values = 1, group = "target_hosts")]
 	skip: Vec<String>,
 
 	/// Host, which should be threaten as current machine
-	#[clap(long)]
+	#[structopt(long)]
 	pub localhost: Option<String>,
 }
 
modifiedsrc/main.rsdiffbeforeafterboth
--- a/src/main.rs
+++ b/src/main.rs
@@ -8,13 +8,13 @@
 mod fleetdata;
 
 use anyhow::Result;
-use clap::Clap;
+use structopt::StructOpt;
 
 use cmds::{build_systems::BuildSystems, secrets::Secrets};
 use host::{Config, FleetOpts};
 
-#[derive(Clap)]
-#[clap(version = "1.0", author = "CertainLach <iam@lach.pw>")]
+#[derive(StructOpt)]
+#[structopt(version = "1.0", author = "CertainLach <iam@lach.pw>")]
 enum Opts {
 	/// Prepare systems for deployments
 	BuildSystems(BuildSystems),
@@ -22,11 +22,11 @@
 	Secrets(Secrets),
 }
 
-#[derive(Clap)]
+#[derive(StructOpt)]
 struct RootOpts {
-	#[clap(flatten)]
+	#[structopt(flatten)]
 	fleet_opts: FleetOpts,
-	#[clap(subcommand)]
+	#[structopt(subcommand)]
 	command: Opts,
 }
 
@@ -42,7 +42,7 @@
 	env_logger::Builder::new()
 		.filter_level(log::LevelFilter::Info)
 		.init();
-	let opts = RootOpts::parse();
+	let opts = RootOpts::from_args();
 	let config = opts.fleet_opts.build()?;
 
 	match run_command(&config, opts.command) {