From e4ae1abb925093f955df8a84309ae87df1ce2087 Mon Sep 17 00:00:00 2001 From: Yehuda Katz Date: Mon, 7 Jul 2014 21:50:45 -0700 Subject: [PATCH] Remove glob dependency --- src/cargo/lib.rs | 1 - src/cargo/util/toml.rs | 11 ++++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/cargo/lib.rs b/src/cargo/lib.rs index 0982ed96f..32a07fd9c 100644 --- a/src/cargo/lib.rs +++ b/src/cargo/lib.rs @@ -8,7 +8,6 @@ extern crate term; extern crate url; extern crate serialize; extern crate semver; -extern crate glob; extern crate toml; #[phase(plugin, link)] diff --git a/src/cargo/util/toml.rs b/src/cargo/util/toml.rs index 59fba60d8..559fde781 100644 --- a/src/cargo/util/toml.rs +++ b/src/cargo/util/toml.rs @@ -1,9 +1,9 @@ use serialize::Decodable; use std::collections::HashMap; use std::str; +use std::io::fs; use toml; -use glob::glob; use core::{SourceId, GitKind}; use core::manifest::{LibKind, Lib, Profile}; use core::{Summary, Manifest, Target, Dependency, PackageId}; @@ -39,10 +39,11 @@ pub fn project_layout(root: &Path) -> Layout { bins.push(root.join("src/main.rs")); } - // TODO: glob takes a &str even though Paths may have non-UTF8 chars. This - // seems like a bug in libglob - let found = glob(root.join("src/bin/*.rs").display().to_str().as_slice()).collect(); - bins.push_all_move(found); + fs::readdir(&root.join("src/bin")) + .map(|v| v.move_iter()) + .map(|i| i.filter(|f| f.extension_str() == Some("rs"))) + .map(|mut i| i.collect()) + .map(|found| bins.push_all_move(found)); Layout { lib: lib,