From 87e4c859311b4b3cb30a9eaa31507be10cd806bc Mon Sep 17 00:00:00 2001 From: Onur Aslan Date: Fri, 2 Jun 2017 11:48:38 +0300 Subject: [PATCH] Add container name argument --- src/bin/cratesfyi.rs | 16 ++++++++++++++-- src/docbuilder/mod.rs | 5 +++++ src/docbuilder/options.rs | 3 ++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/bin/cratesfyi.rs b/src/bin/cratesfyi.rs index 8cc339d80..20a6cad1a 100644 --- a/src/bin/cratesfyi.rs +++ b/src/bin/cratesfyi.rs @@ -50,7 +50,7 @@ pub fn main() { .takes_value(true)) .arg(Arg::with_name("CHROOT_PATH") .short("c") - .long("chroot") + .long("chroot-path") .help("Sets chroot path") .takes_value(true)) .arg(Arg::with_name("CHROOT_USER") @@ -58,6 +58,11 @@ pub fn main() { .long("chroot-user") .help("Sets chroot user name") .takes_value(true)) + .arg(Arg::with_name("CONTAINER_NAME") + .short("n") + .long("container-name") + .help("Sets name of the container") + .takes_value(true)) .arg(Arg::with_name("CRATES_IO_INDEX_PATH") .long("crates-io-index-path") .help("Sets crates.io-index path") @@ -93,7 +98,8 @@ pub fn main() { building new crates")) .subcommand(SubCommand::with_name("unlock") .about("Unlocks cratesfyi daemon to continue \ - building new crates"))) + building new crates")) + .subcommand(SubCommand::with_name("print-options"))) .subcommand(SubCommand::with_name("start-web-server") .about("Starts web server") .arg(Arg::with_name("SOCKET_ADDR") @@ -158,6 +164,10 @@ pub fn main() { docbuilder_opts.chroot_user = chroot_user.to_string(); } + if let Some(container_name) = matches.value_of("CONTAINER_NAME") { + docbuilder_opts.container_name = container_name.to_string(); + } + if let Some(crates_io_index_path) = matches.value_of("CRATES_IO_INDEX_PATH") { docbuilder_opts.crates_io_index_path = PathBuf::from(crates_io_index_path); } @@ -189,6 +199,8 @@ pub fn main() { docbuilder.lock().expect("Failed to lock"); } else if let Some(_) = matches.subcommand_matches("unlock") { docbuilder.unlock().expect("Failed to unlock"); + } else if let Some(_) = matches.subcommand_matches("print-options") { + println!("{:?}", docbuilder.options()); } } else if let Some(matches) = matches.subcommand_matches("database") { diff --git a/src/docbuilder/mod.rs b/src/docbuilder/mod.rs index 6e065a653..921444b26 100644 --- a/src/docbuilder/mod.rs +++ b/src/docbuilder/mod.rs @@ -108,4 +108,9 @@ impl DocBuilder { } Ok(()) } + + /// Returns a reference of options + pub fn options(&self) -> &DocBuilderOptions { + &self.options + } } diff --git a/src/docbuilder/options.rs b/src/docbuilder/options.rs index 4fc223f63..11218367a 100644 --- a/src/docbuilder/options.rs +++ b/src/docbuilder/options.rs @@ -58,13 +58,14 @@ impl fmt::Debug for DocBuilderOptions { write!(f, "DocBuilderOptions {{ destination: {:?}, chroot_path: {:?}, \ crates_io_index_path: {:?}, \ - sources_path: {:?}, chroot_user: {:?}, \ + sources_path: {:?}, container_name: {:?}, chroot_user: {:?}, \ keep_build_directory: {:?}, skip_if_exists: {:?}, \ skip_if_log_exists: {:?}, debug: {:?} }}", self.destination, self.chroot_path, self.crates_io_index_path, self.sources_path, + self.container_name, self.chroot_user, self.keep_build_directory, self.skip_if_exists,