diff options
Diffstat (limited to 'src/rebar_state.erl')
-rw-r--r-- | src/rebar_state.erl | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/rebar_state.erl b/src/rebar_state.erl index d0b28de..1e0abc5 100644 --- a/src/rebar_state.erl +++ b/src/rebar_state.erl @@ -289,7 +289,16 @@ apply_profiles(State, Profile) when not is_list(Profile) -> apply_profiles(State, [default]) -> State; apply_profiles(State=#state_t{default = Defaults, current_profiles=CurrentProfiles}, Profiles) -> - AppliedProfiles = deduplicate(CurrentProfiles ++ Profiles), + AppliedProfiles = case Profiles of + %% Head of list global profile is special, only for use by rebar3 + %% It does not clash if a user does `rebar3 as global...` but when + %% it is the head we must make sure not to prepend `default` + [global | _] -> + Profiles; + _ -> + deduplicate(CurrentProfiles ++ Profiles) + end, + ConfigProfiles = rebar_state:get(State, profiles, []), NewOpts = |