summaryrefslogtreecommitdiff
path: root/src/rebar_app_discover.erl
diff options
context:
space:
mode:
authorTristan Sloughter <t@crashfast.com>2015-02-26 09:11:59 -0600
committerTristan Sloughter <t@crashfast.com>2015-02-28 09:56:19 -0600
commitae9c83fb4bafd3f2faf849c931ba440053f5cb97 (patch)
tree8311b5df10f10afeb23b8ac9284f7ca4340ab92a /src/rebar_app_discover.erl
parentd4c2332aabb4337b49bb3ef03793408c58afd5d4 (diff)
copy project apps to deps output dir for compilation
Diffstat (limited to 'src/rebar_app_discover.erl')
-rw-r--r--src/rebar_app_discover.erl8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rebar_app_discover.erl b/src/rebar_app_discover.erl
index f6ed91b..761c09e 100644
--- a/src/rebar_app_discover.erl
+++ b/src/rebar_app_discover.erl
@@ -14,14 +14,18 @@ do(State, LibDirs) ->
Dirs = [filename:join(BaseDir, LibDir) || LibDir <- LibDirs],
Apps = find_apps(Dirs, all),
ProjectDeps = rebar_state:deps_names(State),
+ DepsDir = rebar_dir:deps_dir(State),
%% Sort apps so we get the same merged deps config everytime
SortedApps = rebar_utils:sort_deps(Apps),
lists:foldl(fun(AppInfo, StateAcc) ->
StateAcc1 = merge_deps(AppInfo, StateAcc),
- ProjectDeps1 = lists:delete(rebar_app_info:name(AppInfo), ProjectDeps),
+ Name = rebar_app_info:name(AppInfo),
+ OutDir = filename:join(DepsDir, Name),
+ AppInfo1 = rebar_app_info:out_dir(AppInfo, OutDir),
+ ProjectDeps1 = lists:delete(Name, ProjectDeps),
rebar_state:project_apps(StateAcc1
- ,rebar_app_info:deps(AppInfo, ProjectDeps1))
+ ,rebar_app_info:deps(AppInfo1, ProjectDeps1))
end, State, SortedApps).
format_error({module_list, File}) ->