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 {
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))
}
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;
}
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,
})
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)
}
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 {