-Subproject commit 6c442daa3550d791333c4e382587d63fd12c89d2
+Subproject commit ea9e456ef5e0dbc5dc2e071f33622e9fc917a918
Summary,
Registry
};
-use util::errors::CargoResult;
+
+use util::{CargoResult, human, internal};
/* TODO:
* - The correct input here is not a registry. Resolves should be performable
let opts = try!(registry.query(&curr));
- assert!(opts.len() > 0, "no matches for {}", curr.get_name());
- // Temporary, but we must have exactly one option to satisfy the dep
- assert!(opts.len() == 1, "invalid num of results {}", opts.len());
+ if opts.len() == 0 {
+ return Err(human(format!("No package named {} found", curr.get_name())));
+ }
+
+ if opts.len() > 1 {
+ return Err(internal("Temporarily, Cargo only supports a single result for a dependency"))
+ }
let pkg = opts.get(0).clone();
resolve.insert(pkg.get_name().to_str(), pkg.clone());
let _ = shell.error(error.to_str());
}
- if unknown {
+ if error.cause().is_some() {
let _ = shell.concise(|shell| {
shell.err().say("\nTo learn more, run the command again with --verbose.", BLACK)
});
let source_ids = package.get_source_ids();
let packages = {
- let mut registry = try!(PackageRegistry::new(source_ids, override_ids, shell));
- let resolved = try!(resolver::resolve(package.get_dependencies(),
- &mut registry).wrap({
- human("unable to resolve dependencies")
- }));
+ let mut registry =
+ try!(PackageRegistry::new(source_ids, override_ids, shell));
+
+ let resolved =
+ try!(resolver::resolve(package.get_dependencies(), &mut registry));
try!(registry.get(resolved.as_slice()).wrap({
- human("unable to get packages from source")
+ human("Unable to get packages from source")
}))
};