Let the resolver return a PackageSet
authorYehuda Katz <wycats@gmail.com>
Fri, 2 May 2014 00:12:07 +0000 (17:12 -0700)
committerYehuda Katz <wycats@gmail.com>
Fri, 2 May 2014 00:12:07 +0000 (17:12 -0700)
src/cargo/core/resolver.rs
src/cargo/ops/cargo_compile.rs

index 756320cf4f0a957cbfbdafacdac6d4eb64e08bd7..c52c11af1516884f13c4d7ef8bbd9625450cfa38 100644 (file)
@@ -1,16 +1,20 @@
 use collections::HashMap;
 use core;
+use core::package::PackageSet;
 use {CargoResult};
 
 #[allow(dead_code)]
-pub fn resolve(deps: &[core::Dependency], registry: &core::Registry) -> CargoResult<Vec<core::Package>> {
+pub fn resolve(deps: &[core::Dependency], registry: &core::Registry) -> CargoResult<PackageSet> {
     let mut remaining = Vec::from_slice(deps);
     let mut resolve = HashMap::<&str, &core::Package>::new();
 
     loop {
         let curr = match remaining.pop() {
             Some(curr) => curr,
-            None => return Ok(resolve.values().map(|v| (*v).clone()).collect())
+            None => {
+                let packages: Vec<core::Package> = resolve.values().map(|v| (*v).clone()).collect();
+                return Ok(PackageSet::new(packages.as_slice()))
+            }
         };
 
         let opts = registry.query(curr.get_name());
index 8417b6cfda062688fef071a8c5651c1e8f55a237..0ad7eeeeb9858858c6e54f7c023c57b5e9c7d9f1 100644 (file)
@@ -66,7 +66,6 @@ pub fn compile() -> CargoResult<()> {
     let registry = PackageSet::new(packages.as_slice());
 
     let resolved = resolve(deps.as_slice(), &registry);
-    println!("Resolved: {}", resolved);
 
     Ok(())
     //call_rustc(~BufReader::new(manifest_bytes.as_slice()))