Explorar el Código

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 hace 6 años
cometido por GitHub
padre
commit
62ffde8e2a
No se encontró ninguna clave conocida en la base de datos para esta firma ID de clave GPG: 4AEE18F83AFDEB23
Se han modificado 2 ficheros con 8 adiciones y 4 borrados
  1. +6
    -3
      src/rebar_paths.erl
  2. +2
    -1
      src/rebar_prv_compile.erl

+ 6
- 3
src/rebar_paths.erl Ver fichero

@ -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 fichero

@ -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

Cargando…
Cancelar
Guardar