Ver a proveniência

Merge pull request #1963 from ferd/swap-builder-dep-order

Fix load order for custom project builders and parse transforms
pull/1966/head
Fred Hebert há 6 anos
committed by GitHub
ascendente
cometimento
62ffde8e2a
Não foi encontrada uma chave conhecida para esta assinatura, na base de dados ID da chave GPG: 4AEE18F83AFDEB23
2 ficheiros alterados com 8 adições e 4 eliminações
  1. +6
    -3
      src/rebar_paths.erl
  2. +2
    -1
      src/rebar_prv_compile.erl

+ 6
- 3
src/rebar_paths.erl Ver ficheiro

@ -111,7 +111,6 @@ purge_and_load([{_Group, Apps}|Rest], Seen) ->
%% Shouldn't unload ourselves; rebar runs without ever
%% being started and unloading breaks logging!
AppName =/= <<"rebar">>],
%% 4)
CandidateMods = lists:append(
%% Start by asking the currently loaded app (if loaded)
@ -121,8 +120,12 @@ purge_and_load([{_Group, Apps}|Rest], Seen) ->
Mods;
undefined ->
%% if not found, parse the app file on disk, in case
%% the app's modules are used without it being loaded
case rebar_app_info:app_details(App) of
%% the app's modules are used without it being loaded;
%% invalidate the cache in case we're proceeding during
%% compilation steps by setting the app details to `[]', which
%% is its empty value; the details will then be reloaded
%% from disk when found
case rebar_app_info:app_details(rebar_app_info:app_details(App, [])) of
[] -> [];
Details -> proplists:get_value(modules, Details, [])
end

+ 2
- 1
src/rebar_prv_compile.erl Ver ficheiro

@ -195,13 +195,14 @@ build_app(AppInfo, State) ->
case rebar_app_info:project_type(AppInfo) of
Type when Type =:= rebar3 ; Type =:= undefined ->
Compilers = rebar_state:compilers(State),
rebar_paths:set_paths([deps], State),
rebar_compiler:compile_all(Compilers, AppInfo);
Type ->
ProjectBuilders = rebar_state:project_builders(State),
case lists:keyfind(Type, 1, ProjectBuilders) of
{_, Module} ->
%% load plugins since thats where project builders would be
rebar_paths:set_paths([plugins, deps], State),
rebar_paths:set_paths([deps, plugins], State),
Res = Module:build(AppInfo),
rebar_paths:set_paths([deps], State),
case Res of

Carregando…
Cancelar
Guardar