From 8f9300124e05133deb991ff72b8f17e4c3d8714c Mon Sep 17 00:00:00 2001 From: Dave Smith Date: Fri, 11 Jun 2010 10:03:41 -0600 Subject: [PATCH] Make delete-deps a bit smarter --- src/rebar_deps.erl | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/rebar_deps.erl b/src/rebar_deps.erl index 5833f29..08f2f54 100644 --- a/src/rebar_deps.erl +++ b/src/rebar_deps.erl @@ -106,7 +106,12 @@ compile(Config, AppFile) -> ok. 'delete-deps'(Config, _) -> - rebar_file_utils:rm_rf(get_deps_dir()). + %% Delete all the available deps, if any + Deps = rebar_config:get_local(Config, deps, []), + {AvailableDeps, _} = find_deps(Deps), + [delete_dep(D) || D <- AvailableDeps], + ok. + %% =================================================================== @@ -158,6 +163,15 @@ find_deps([Other | _Rest], _Acc) -> [Other, rebar_utils:get_cwd()]). +delete_dep(D) -> + case filelib:is_dir(D#dep.dir) of + true -> + ?INFO("Deleting dependency: ~s\n", [D#dep.dir]), + rebar_file_utils:rm_rf(D#dep.dir); + false -> + ok + end. + require_source_engine(Source) -> case source_engine_avail(Source) of true ->