summaryrefslogtreecommitdiff
path: root/src/rebar_state.erl
diff options
context:
space:
mode:
authorViacheslav V. Kovalev <kovyl2404@gmail.com>2015-04-22 18:56:15 +0300
committerViacheslav V. Kovalev <kovyl2404@gmail.com>2015-04-22 18:56:15 +0300
commitd821757152be83d2f473d4d4e2157dba72a6d345 (patch)
treeff6e34724e27f1644d6a8378fb1190853d85fc13 /src/rebar_state.erl
parent0b682e364da25287aa45784150702013f4c4aee0 (diff)
parente255529da5c2366f1a9c4eb823d3c3d02c237eae (diff)
Merge remote-tracking branch 'my/app-discover-profile-duplication' into app-discover-profile-duplication
Diffstat (limited to 'src/rebar_state.erl')
-rw-r--r--src/rebar_state.erl7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rebar_state.erl b/src/rebar_state.erl
index f73370b..c2e479d 100644
--- a/src/rebar_state.erl
+++ b/src/rebar_state.erl
@@ -207,7 +207,8 @@ apply_profiles(State, Profile) when not is_list(Profile) ->
apply_profiles(State, [Profile]);
apply_profiles(State, [default]) ->
State;
-apply_profiles(State=#state_t{opts=Opts, current_profiles=CurrentProfiles}, Profiles) ->
+apply_profiles(State=#state_t{default = Defaults, current_profiles=CurrentProfiles}, Profiles) ->
+ AppliedProfiles = deduplicate(CurrentProfiles ++ Profiles),
ConfigProfiles = rebar_state:get(State, profiles, []),
NewOpts =
lists:foldl(fun(default, OptsAcc) ->
@@ -215,8 +216,8 @@ apply_profiles(State=#state_t{opts=Opts, current_profiles=CurrentProfiles}, Prof
(Profile, OptsAcc) ->
ProfileOpts = dict:from_list(proplists:get_value(Profile, ConfigProfiles, [])),
merge_opts(Profile, ProfileOpts, OptsAcc)
- end, Opts, Profiles),
- State#state_t{current_profiles = deduplicate(CurrentProfiles ++ Profiles), opts=NewOpts}.
+ end, Defaults, AppliedProfiles),
+ State#state_t{current_profiles = AppliedProfiles, opts=NewOpts}.
deduplicate(Profiles) ->
do_deduplicate(lists:reverse(Profiles), []).