]> git.proxmox.com Git - cargo.git/blame - src/cargo/ops/cargo_read_manifest.rs
Paths nested in paths
[cargo.git] / src / cargo / ops / cargo_read_manifest.rs
CommitLineData
bbbf2dea
YKCL
1use std::io::File;
2use util;
c57fef45 3use url::Url;
9224a5ae 4use core::{Package,Manifest,SourceId};
bbbf2dea 5use util::{CargoResult,io_error};
62bff631 6
9224a5ae
YKCL
7pub fn read_manifest(contents: &[u8], source_id: &SourceId) -> CargoResult<(Manifest, Vec<Path>)> {
8 util::toml::to_manifest(contents, source_id)
b3c23503
CL
9}
10
9224a5ae
YKCL
11pub fn read_package(path: &Path, source_id: &SourceId) -> CargoResult<(Package, Vec<Path>)> {
12 log!(5, "read_package; path={}; source-id={}", path.display(), source_id);
bbbf2dea
YKCL
13 let mut file = try!(File::open(path).map_err(io_error));
14 let data = try!(file.read_to_end().map_err(io_error));
9224a5ae 15 let (manifest, nested) = try!(read_manifest(data.as_slice(), source_id));
bbbf2dea 16
9224a5ae 17 Ok((Package::new(manifest, path), nested))
62bff631 18}