From e47108a70e7d8fd02d3541740839496cef0e491a Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Mon, 10 Jul 2017 20:04:06 -0700 Subject: [PATCH] --list-packages argument --- src/bin/installer.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/bin/installer.rs b/src/bin/installer.rs index 129fe476ba..64fa50782b 100644 --- a/src/bin/installer.rs +++ b/src/bin/installer.rs @@ -15,6 +15,7 @@ fn main() { let mut configs = vec![]; let mut cookbook = None; + let mut list_packages = false; for arg in env::args().skip(1) { if arg.starts_with("--cookbook=") { let path = arg.splitn(2, "--cookbook=").nth(1).unwrap().to_string(); @@ -27,6 +28,11 @@ fn main() { continue; } + if arg == "--list-packages" { + list_packages = true; + continue; + } + match File::open(&arg) { Ok(mut config_file) => { let mut config_data = String::new(); @@ -72,7 +78,11 @@ fn main() { } for config in configs { - if let Err(err) = redox_installer::install(config, cookbook.as_ref().map(String::as_ref)) { + if list_packages { + for (packagename, _package) in &config.packages { + println!("{}", packagename); + } + } else if let Err(err) = redox_installer::install(config, cookbook.as_ref().map(String::as_ref)) { writeln!(stderr, "installer: failed to install: {}", err).unwrap(); process::exit(1); }