summaryrefslogtreecommitdiff
path: root/src/bin
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2022-10-02 10:50:35 +0300
committerLars Wirzenius <liw@liw.fi>2022-10-23 09:38:00 +0300
commit5522e9c40a6b2beb1cfea51e90351b90fada5931 (patch)
tree201e4f57bf4d3240b02d5b34856c4bdbff8f1860 /src/bin
parent1baa17c93e6cccd6194592076210625364058615 (diff)
downloadobnam2-5522e9c40a6b2beb1cfea51e90351b90fada5931.tar.gz
refactor: use clap instead of structopt
clap version 3 basically replaces structopt entirely. Sponsored-by: author
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/obnam-server.rs9
-rw-r--r--src/bin/obnam.rs14
2 files changed, 11 insertions, 12 deletions
diff --git a/src/bin/obnam-server.rs b/src/bin/obnam-server.rs
index 6cf4122..cfa2cb5 100644
--- a/src/bin/obnam-server.rs
+++ b/src/bin/obnam-server.rs
@@ -1,4 +1,5 @@
use anyhow::Context;
+use clap::Parser;
use log::{debug, error, info};
use obnam::chunk::DataChunk;
use obnam::chunkid::ChunkId;
@@ -11,16 +12,14 @@ use std::default::Default;
use std::net::{SocketAddr, ToSocketAddrs};
use std::path::{Path, PathBuf};
use std::sync::Arc;
-use structopt::StructOpt;
use tokio::sync::Mutex;
use warp::http::StatusCode;
use warp::hyper::body::Bytes;
use warp::Filter;
-#[derive(Debug, StructOpt)]
-#[structopt(name = "obnam2-server", about = "Backup server")]
+#[derive(Debug, Parser)]
+#[clap(name = "obnam2-server", about = "Backup server")]
struct Opt {
- #[structopt(parse(from_os_str))]
config: PathBuf,
}
@@ -28,7 +27,7 @@ struct Opt {
async fn main() -> anyhow::Result<()> {
pretty_env_logger::init_custom_env("OBNAM_SERVER_LOG");
- let opt = Opt::from_args();
+ let opt = Opt::parse();
let config = load_config(&opt.config)?;
let addresses: Vec<SocketAddr> = config.address.to_socket_addrs()?.collect();
diff --git a/src/bin/obnam.rs b/src/bin/obnam.rs
index 089a7a1..b962c61 100644
--- a/src/bin/obnam.rs
+++ b/src/bin/obnam.rs
@@ -1,3 +1,4 @@
+use clap::Parser;
use directories_next::ProjectDirs;
use log::{debug, error, info, LevelFilter};
use log4rs::append::file::FileAppender;
@@ -19,7 +20,6 @@ use obnam::cmd::show_gen::ShowGeneration;
use obnam::config::ClientConfig;
use obnam::performance::{Clock, Performance};
use std::path::{Path, PathBuf};
-use structopt::StructOpt;
const QUALIFIER: &str = "";
const ORG: &str = "";
@@ -38,7 +38,7 @@ fn main() {
}
fn main_program(perf: &mut Performance) -> anyhow::Result<()> {
- let opt = Opt::from_args();
+ let opt = Opt::parse();
let config = ClientConfig::read(&config_filename(&opt))?;
setup_logging(&config.log)?;
@@ -96,17 +96,17 @@ fn default_config() -> PathBuf {
}
}
-#[derive(Debug, StructOpt)]
-#[structopt(name = "obnam-backup", about = "Simplistic backup client")]
+#[derive(Debug, Parser)]
+#[clap(name = "obnam-backup", about = "Simplistic backup client")]
struct Opt {
- #[structopt(long, short, parse(from_os_str))]
+ #[clap(long, short)]
config: Option<PathBuf>,
- #[structopt(subcommand)]
+ #[clap(subcommand)]
cmd: Command,
}
-#[derive(Debug, StructOpt)]
+#[derive(Debug, Parser)]
enum Command {
Init(Init),
Backup(Backup),