Remove usage of PathSource::for_path
authorAlex Crichton <alex@alexcrichton.com>
Tue, 1 Mar 2016 06:13:11 +0000 (22:13 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Thu, 3 Mar 2016 21:35:46 +0000 (13:35 -0800)
This does much more I/O than Package::for_path and this is also on its way out.

src/bin/read_manifest.rs
src/cargo/ops/cargo_output_metadata.rs
src/cargo/ops/cargo_package.rs

index 141ebfff9aa82e96eab071270b5bea671596883c..1cbb0cff8c4c30e34548055ebf7e60754c43053e 100644 (file)
@@ -1,9 +1,8 @@
 use std::env;
 
-use cargo::core::{Package, Source};
+use cargo::core::Package;
 use cargo::util::{CliResult, Config};
 use cargo::util::important_paths::{find_root_manifest_for_wd};
-use cargo::sources::{PathSource};
 
 #[derive(RustcDecodable)]
 pub struct Options {
@@ -32,9 +31,6 @@ pub fn execute(options: Options, config: &Config) -> CliResult<Option<Package>>
 
     let root = try!(find_root_manifest_for_wd(options.flag_manifest_path, config.cwd()));
 
-    let mut source = try!(PathSource::for_path(root.parent().unwrap(), config));
-    try!(source.update());
-
-    let pkg = try!(source.root_package());
+    let pkg = try!(Package::for_path(&root, config));
     Ok(Some(pkg))
 }
index 7a037828d0383a1bc4543c65d243ccb7836d2122..79b308053d4a5032e61736980555b1608ba6b65a 100644 (file)
@@ -3,9 +3,8 @@ use std::path::Path;
 use rustc_serialize::{Encodable, Encoder};
 
 use core::resolver::Resolve;
-use core::{Source, Package, PackageId, PackageSet};
+use core::{Package, PackageId, PackageSet};
 use ops;
-use sources::PathSource;
 use util::config::Config;
 use util::CargoResult;
 
@@ -35,10 +34,9 @@ pub fn output_metadata(opt: OutputMetadataOptions, config: &Config) -> CargoResu
 }
 
 fn metadata_no_deps(opt: OutputMetadataOptions, config: &Config) -> CargoResult<ExportInfo> {
-    let mut source = try!(PathSource::for_path(opt.manifest_path.parent().unwrap(), config));
-
+    let root = try!(Package::for_path(opt.manifest_path, config));
     Ok(ExportInfo {
-        packages: vec![try!(source.root_package())],
+        packages: vec![root],
         resolve: None,
         version: VERSION,
     })
@@ -112,14 +110,10 @@ fn resolve_dependencies<'a>(manifest: &Path,
                             features: Vec<String>,
                             no_default_features: bool)
                             -> CargoResult<(PackageSet<'a>, Resolve)> {
-    let mut source = try!(PathSource::for_path(manifest.parent().unwrap(), config));
-    try!(source.update());
-
-    let package = try!(source.root_package());
-
+    let package = try!(Package::for_path(manifest, config));
     ops::resolve_dependencies(&package,
                               config,
-                              Some(Box::new(source)),
+                              None,
                               features,
                               no_default_features)
 }
index 3ab236426b2120046496babd789010c45cf1a068..bf173f1642cbbfe02efd8c801276693df753c29b 100644 (file)
@@ -16,8 +16,9 @@ pub fn package(manifest_path: &Path,
                verify: bool,
                list: bool,
                metadata: bool) -> CargoResult<Option<PathBuf>> {
-    let mut src = try!(PathSource::for_path(manifest_path.parent().unwrap(),
-                                            config));
+    let path = manifest_path.parent().unwrap();
+    let id = try!(SourceId::for_path(path));
+    let mut src = PathSource::new(path, &id, config);
     let pkg = try!(src.root_package());
 
     if metadata {