5IT7CXFGK6HHEWB3D4T5GDV3FZ7I2U7UKXOVSD7RVYSI3GFGVRTAC
Ok(Packages {
result,
paths: vertices.last().unwrap().files.iter().cloned().collect(),
})
let paths = vertices.last().unwrap().files.iter().cloned().collect();
debug!("paths = {:?}", paths);
debug!("result = {:?}", result);
Ok(Packages { result, paths })
while c.wj < vertices[c.vi].deps.len() {
let wi = vertices[c.vi].deps[c.wj];
if c.d > 0 {
// Returning from the recursive call.
let dep = vertices[c.vi].deps[c.d - 1];
vertices[c.vi].lowlink = vertices[c.vi].lowlink.min(vertices[dep].lowlink);
}
while c.d < vertices[c.vi].deps.len() {
let wi = vertices[c.vi].deps[c.d];
debug!("dep of {:?}: {:?} ({:?})", c.vi, wi, vertices[c.vi].deps);
// Add potential local libs.
let mut last_added = None;
for (d, _) in find_files(self.downloaded.path.clone())? {
if last_added.as_deref() == d.parent() {
continue;
}
for n in needed.iter() {
if d.file_name().unwrap().to_str().unwrap() == n {
last_added = d.parent().map(|x| x.to_path_buf());
if !path.is_empty() {
path.push(':')
}
let suffix = d
.parent()
.unwrap()
.strip_prefix(&self.downloaded.path)
.unwrap();
path.push_str(
self.context_path
.as_ref()
.unwrap()
.join(suffix)
.to_str()
.unwrap(),
);
}
}
}