summaryrefslogtreecommitdiff
path: root/src/rebar_prv_install_deps.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rebar_prv_install_deps.erl')
-rw-r--r--src/rebar_prv_install_deps.erl43
1 files changed, 10 insertions, 33 deletions
diff --git a/src/rebar_prv_install_deps.erl b/src/rebar_prv_install_deps.erl
index 58557bf..6ae22d6 100644
--- a/src/rebar_prv_install_deps.erl
+++ b/src/rebar_prv_install_deps.erl
@@ -287,24 +287,20 @@ maybe_fetch(AppInfo, Profile, Upgrade, Seen, State) ->
true ->
{false, AppInfo};
false ->
- case rebar_app_discover:find_app(AppDir, all) of
+ case rebar_app_discover:find_app(AppInfo, AppDir, all) of
false ->
true = fetch_app(AppInfo, AppDir, State),
maybe_symlink_default(State, Profile, AppDir, AppInfo),
{true, rebar_app_info:valid(update_app_info(AppDir, AppInfo), false)};
{true, AppInfo1} ->
- %% Preserve the state we created with overrides
- AppInfo3 = copy_app_info(AppInfo, AppInfo1),
- %% AppState = rebar_app_info:state(AppInfo),
- %% AppInfo3 = rebar_app_info:state(AppInfo2, AppState),
- case sets:is_element(rebar_app_info:name(AppInfo3), Seen) of
+ case sets:is_element(rebar_app_info:name(AppInfo1), Seen) of
true ->
- {false, AppInfo3};
+ {false, AppInfo1};
false ->
- maybe_symlink_default(State, Profile, AppDir, AppInfo3),
+ maybe_symlink_default(State, Profile, AppDir, AppInfo1),
MaybeUpgrade = maybe_upgrade(AppInfo, AppDir, Upgrade, State),
- AppInfo4 = update_app_info(AppDir, AppInfo3),
- {MaybeUpgrade, AppInfo4}
+ AppInfo2 = update_app_info(AppDir, AppInfo1),
+ {MaybeUpgrade, AppInfo2}
end
end
end.
@@ -361,32 +357,13 @@ fetch_app(AppInfo, AppDir, State) ->
%% So this is the first time for newly downloaded apps that its .app/.app.src data can
%% be read in an parsed.
update_app_info(AppDir, AppInfo) ->
- case rebar_app_info:discover(AppDir) of
- {ok, Found} ->
- AppDetails = rebar_app_info:app_details(Found),
- Vsn = rebar_app_info:original_vsn(Found),
- Applications = proplists:get_value(applications, AppDetails, []),
- IncludedApplications = proplists:get_value(included_applications, AppDetails, []),
- AppInfo1 = rebar_app_info:original_vsn(rebar_app_info:applications(
- rebar_app_info:app_details(AppInfo, AppDetails),
- IncludedApplications++Applications), Vsn),
- AppInfo2 = copy_app_info(AppInfo, AppInfo1),
- rebar_app_info:valid(AppInfo2, undefined);
- not_found ->
+ case rebar_app_discover:find_app(AppInfo, AppDir, all) of
+ {true, AppInfo1} ->
+ AppInfo1;
+ false ->
throw(?PRV_ERROR({dep_app_not_found, AppDir, rebar_app_info:name(AppInfo)}))
end.
-copy_app_info(OldAppInfo, NewAppInfo) ->
- Deps = rebar_app_info:deps(OldAppInfo),
- ResourceType = rebar_app_info:resource_type(OldAppInfo),
- Parent = rebar_app_info:parent(OldAppInfo),
- Source = rebar_app_info:source(OldAppInfo),
-
- rebar_app_info:deps(
- rebar_app_info:resource_type(
- rebar_app_info:source(
- rebar_app_info:parent(NewAppInfo, Parent), Source), ResourceType), Deps).
-
maybe_upgrade(AppInfo, AppDir, Upgrade, State) ->
Source = rebar_app_info:source(AppInfo),
case Upgrade orelse rebar_app_info:is_lock(AppInfo) of