diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 437c00b6..7b51a9e8 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -1417,7 +1417,7 @@ fn main() { }; } - let recipes = match CookRecipe::get_build_deps_recursive(&recipe_names) { + let recipes = match CookRecipe::get_build_deps_recursive(&recipe_names, !with_package_deps) { Ok(ok) => ok, Err(err) => { eprintln!( diff --git a/src/recipe.rs b/src/recipe.rs index 06c49e68..bca680f8 100644 --- a/src/recipe.rs +++ b/src/recipe.rs @@ -202,11 +202,16 @@ impl CookRecipe { Ok(recipes) } - pub fn get_build_deps_recursive(names: &[PackageName]) -> Result, PackageError> { + pub fn get_build_deps_recursive( + names: &[PackageName], + mark_is_deps: bool, + ) -> Result, PackageError> { let mut packages = Self::new_recursive(names, WALK_DEPTH)?; - for package in packages.iter_mut() { - package.is_deps = !names.contains(&package.name); + if mark_is_deps { + for package in packages.iter_mut() { + package.is_deps = !names.contains(&package.name); + } } Ok(packages)