diff options
Diffstat (limited to 'src/rebar_prv_test_deps.erl')
-rw-r--r-- | src/rebar_prv_test_deps.erl | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/rebar_prv_test_deps.erl b/src/rebar_prv_test_deps.erl index 081b210..a51f635 100644 --- a/src/rebar_prv_test_deps.erl +++ b/src/rebar_prv_test_deps.erl @@ -9,7 +9,9 @@ -include("rebar.hrl"). -define(PROVIDER, test_deps). --define(DEPS, [install_deps]). +-define(DEPS, []). + +-define(DEFAULT_TEST_DEPS_DIR, "_tdeps"). %% =================================================================== %% Public API @@ -17,13 +19,11 @@ -spec init(rebar_state:t()) -> {ok, rebar_state:t()}. init(State) -> - Providers = rebar_state:providers(State), - CompileProvider = providers:get_provider(compile, Providers), State1 = rebar_state:add_provider(State, providers:create([{name, ?PROVIDER}, {module, ?MODULE}, {bare, true}, {deps, ?DEPS}, - {hooks, {[], [CompileProvider]}}, + {hooks, {[], []}}, {example, undefined}, {short_desc, "Install dependencies needed only for testing."}, {desc, ""}, @@ -37,19 +37,18 @@ do(State) -> Names = [ec_cnv:to_binary(element(1, Dep)) || Dep <- TestDeps], ProjectApps1 = [rebar_app_info:deps(A, Names) || A <- ProjectApps], - {ok, State1} = rebar_prv_install_deps:handle_deps(State, TestDeps), - AllDeps = rebar_state:get(State1, all_deps, []), + TestDepsDir = rebar_state:get(State, test_deps_dir, ?DEFAULT_TEST_DEPS_DIR), + DepsDir = rebar_state:get(State, deps_dir, ?DEFAULT_DEPS_DIR), + State1 = rebar_state:set(State, deps_dir, TestDepsDir), + {ok, State2} = rebar_prv_install_deps:handle_deps(State1, TestDeps), + AllDeps = rebar_state:get(State2, all_deps, []), + State3 = rebar_state:set(State2, deps_dir, DepsDir), case rebar_topo:sort_apps(ProjectApps1++AllDeps) of {ok, Sort} -> - _ToBuild = lists:dropwhile(fun rebar_app_info:valid/1, Sort), - %% lists:foreach(fun(AppInfo) -> - %% AppDir = rebar_app_info:dir(AppInfo), - %% C = rebar_config:consult(AppDir), - %% S = rebar_state:new(State1, C, AppDir), - %% rebar_prv_compile:build(S, AppInfo) - %% end, ToBuild), - {ok, State1}; + ToBuild = lists:dropwhile(fun rebar_app_info:valid/1, Sort -- ProjectApps1), + State4 = rebar_state:set(State3, deps_to_build, ToBuild), + {ok, State4}; {error, Error} -> {error, Error} end. |