From 1fe4d13e255818cfa092915e035520dee02db830 Mon Sep 17 00:00:00 2001 From: Dave Smith Date: Tue, 29 Dec 2009 22:05:32 -0700 Subject: First basic pass at deps --- src/rebar_deps.erl | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/rebar_deps.erl b/src/rebar_deps.erl index a999f3f..7335d58 100644 --- a/src/rebar_deps.erl +++ b/src/rebar_deps.erl @@ -33,4 +33,28 @@ %% =================================================================== preprocess(Config, _) -> - {ok, Config, []}. + %% Get the directory where we will place downloaded deps + DepsDir = rebar_config:get(Config, deps_dir, "deps"), + + %% Process the list of deps from the configuration + Dirs = process_deps(rebar_config:get(Config, deps, []), [], DepsDir), + {ok, Config, Dirs}. + + +%% =================================================================== +%% Internal functions +%% =================================================================== + +process_deps([], Acc, _Dir) -> + Acc; +process_deps([App | Rest], Acc, Dir) when is_atom(App) -> + case code:lib_dir(App) of + {error, bad_name} -> + %% The requested app is not available on the code path + ?ABORT("~s: Dependency ~s not available.\n", + [rebar_utils:get_cwd(), App]); + Path -> + ?INFO("Dependency ~s -> ~s\n", [App, Path]) + end, + process_deps(Rest, Acc, Dir). + -- cgit v1.1