Remove docopt dependency
authorAleksey Kladov <aleksey.kladov@gmail.com>
Thu, 8 Mar 2018 20:37:39 +0000 (23:37 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Thu, 8 Mar 2018 20:38:08 +0000 (23:38 +0300)
Cargo.toml
src/cargo/lib.rs

index 69d1c5c4b5d66cf3fcd37e35118d3a6eaf571567..fcc0c3517b713b5fda348b206920d6e80700cff2 100644 (file)
@@ -22,7 +22,6 @@ crates-io = { path = "src/crates-io", version = "0.16" }
 crossbeam = "0.3"
 crypto-hash = "0.3"
 curl = "0.4.6"
-docopt = "0.8.1"
 env_logger = "0.5"
 failure = "0.1.1"
 filetime = "0.1"
index 5a5c39911664527c3f8349f2f192c5c947cc3289..271e6fce9bb09c69ce570ea9f44deb5f6331e06e 100644 (file)
@@ -16,7 +16,6 @@ extern crate atty;
 extern crate crates_io as registry;
 extern crate crossbeam;
 extern crate curl;
-extern crate docopt;
 extern crate filetime;
 extern crate flate2;
 extern crate fs2;
@@ -46,9 +45,7 @@ extern crate core_foundation;
 
 use std::fmt;
 
-use serde::de::DeserializeOwned;
 use serde::ser;
-use docopt::Docopt;
 use failure::Error;
 
 use core::Shell;
@@ -109,26 +106,6 @@ impl fmt::Display for VersionInfo {
     }
 }
 
-pub fn call_main_without_stdin<Flags: DeserializeOwned>(
-            exec: fn(Flags, &mut Config) -> CliResult,
-            config: &mut Config,
-            usage: &str,
-            args: &[String],
-            options_first: bool) -> CliResult
-{
-    let docopt = Docopt::new(usage).unwrap()
-        .options_first(options_first)
-        .argv(args.iter().map(|s| &s[..]))
-        .help(true);
-
-    let flags = docopt.deserialize().map_err(|e| {
-        let code = if e.fatal() {1} else {0};
-        CliError::new(e.into(), code)
-    })?;
-
-    exec(flags, config)
-}
-
 pub fn print_json<T: ser::Serialize>(obj: &T) {
     let encoded = serde_json::to_string(&obj).unwrap();
     println!("{}", encoded);