Skip to content

Commit 8f4691f

Browse files
update to nightly cargo
1 parent 960e3e4 commit 8f4691f

File tree

4 files changed

+115
-24
lines changed

4 files changed

+115
-24
lines changed

Cargo.lock

Lines changed: 83 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ failure = "0.1"
2929
comrak = { version = "0.2.10", default-features = false }
3030
toml = "0.4"
3131
html5ever = "0.22"
32-
cargo = "0.30"
32+
cargo = { git = "https://github.com/rust-lang/cargo.git" }
3333

3434
# iron dependencies
3535
iron = "0.5"

src/db/add_package.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -237,11 +237,11 @@ fn get_readme(pkg: &Package) -> Result<Option<String>> {
237237

238238

239239
fn get_rustdoc(pkg: &Package) -> Result<Option<String>> {
240-
if pkg.manifest().targets()[0].src_path().is_absolute() {
241-
read_rust_doc(pkg.manifest().targets()[0].src_path())
240+
if pkg.manifest().targets()[0].src_path().path().is_absolute() {
241+
read_rust_doc(pkg.manifest().targets()[0].src_path().path())
242242
} else {
243243
let mut path = PathBuf::from(try!(source_path(&pkg).ok_or_else(|| err_msg("File not found"))));
244-
path.push(pkg.manifest().targets()[0].src_path());
244+
path.push(pkg.manifest().targets()[0].src_path().path());
245245
read_rust_doc(path.as_path())
246246
}
247247
}

src/utils/build_doc.rs

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ use std::sync::Arc;
99

1010
use cargo::core::{SourceId, Dependency, Source, Package, Workspace};
1111
use cargo::core::compiler::{DefaultExecutor, CompileMode, MessageFormat, BuildConfig, Executor};
12+
use cargo::core::package::PackageSet;
13+
use cargo::core::source::SourceMap;
1214
use cargo::util::{CargoResult, Config, internal, Filesystem};
1315
use cargo::sources::SourceConfigMap;
1416
use cargo::ops::{self, Packages};
@@ -31,19 +33,25 @@ pub fn build_doc(name: &str, vers: Option<&str>, target: Option<&str>) -> Result
3133
let config = try!(Config::default());
3234
let source_id = try!(SourceId::crates_io(&config));
3335

34-
let source_map = try!(SourceConfigMap::new(&config));
35-
let mut source = try!(source_map.load(&source_id));
36+
let source_cfg_map = try!(SourceConfigMap::new(&config));
37+
let mut source = try!(source_cfg_map.load(&source_id));
3638

3739
// update crates.io-index registry
3840
try!(source.update());
3941

4042
let dep = try!(Dependency::parse_no_deprecated(name, vers, &source_id));
4143
let deps = try!(source.query_vec(&dep));
42-
let pkg = try!(deps.iter().map(|p| p.package_id()).max()
43-
// FIXME: This is probably not a rusty way to handle options and results
44-
// or maybe it is who knows...
45-
.map(|pkgid| source.download(pkgid))
46-
.unwrap_or(Err(internal("PKG download error"))));
44+
let pkgid = try!(deps.iter().map(|p| p.package_id()).max()
45+
// FIXME: This is probably not a rusty way to handle options and results
46+
// or maybe it is who knows...
47+
.ok_or(internal("no package id available")));
48+
49+
let mut source_map = SourceMap::new();
50+
source_map.insert(source);
51+
52+
let pkg_set = try!(PackageSet::new(&[pkgid.clone()], source_map, &config));
53+
54+
let pkg = try!(pkg_set.get_one(&pkgid)).clone();
4755

4856
let current_dir = try!(env::current_dir());
4957
let target_dir = PathBuf::from(current_dir).join("cratesfyi");
@@ -93,11 +101,13 @@ pub fn build_doc(name: &str, vers: Option<&str>, target: Option<&str>) -> Result
93101
false),
94102
target_rustc_args: None,
95103
target_rustdoc_args: Some(rustdoc_args),
104+
local_rustdoc_args: None,
96105
export_dir: None,
97106
};
98107

99108
let ws = try!(Workspace::ephemeral(pkg, &config, Some(Filesystem::new(target_dir)), false));
100109
let exec: Arc<Executor> = Arc::new(DefaultExecutor);
110+
let source = try!(source_cfg_map.load(&source_id));
101111
try!(ops::compile_ws(&ws, Some(source), &opts, &exec));
102112

103113
Ok(try!(ws.current()).clone())
@@ -118,11 +128,17 @@ pub fn get_package(name: &str, vers: Option<&str>) -> CargoResult<Package> {
118128

119129
let dep = try!(Dependency::parse_no_deprecated(name, vers, &source_id));
120130
let deps = try!(source.query_vec(&dep));
121-
let pkg = try!(deps.iter().map(|p| p.package_id()).max()
122-
// FIXME: This is probably not a rusty way to handle options and results
123-
// or maybe it is who knows...
124-
.map(|pkgid| source.download(pkgid))
125-
.unwrap_or(Err(internal("PKG download error"))));
131+
let pkgid = try!(deps.iter().map(|p| p.package_id()).max()
132+
// FIXME: This is probably not a rusty way to handle options and results
133+
// or maybe it is who knows...
134+
.ok_or(internal("no package id available")));
135+
136+
let mut source_map = SourceMap::new();
137+
source_map.insert(source);
138+
139+
let pkg_set = try!(PackageSet::new(&[pkgid.clone()], source_map, &config));
140+
141+
let pkg = try!(pkg_set.get_one(&pkgid)).clone();
126142

127143
Ok(pkg)
128144
}

0 commit comments

Comments
 (0)