Sfoglia il codice sorgente

add rebar_hooks module

pull/3/head
Tristan Sloughter 10 anni fa
parent
commit
d549901de4
1 ha cambiato i file con 24 aggiunte e 0 eliminazioni
  1. +24
    -0
      src/rebar_hooks.erl

+ 24
- 0
src/rebar_hooks.erl Vedi File

@ -0,0 +1,24 @@
-module(rebar_hooks).
-export([run_compile_hooks/4]).
run_compile_hooks(Dir, Type, Command, State) ->
Hooks = rebar_state:get(State, Type, []),
lists:foreach(fun({_, C, _}=Hook) when C =:= Command ->
apply_hook(Dir, [], Hook);
({C, _}=Hook) when C =:= Command ->
apply_hook(Dir, [], Hook);
(_) ->
continue
end, Hooks).
apply_hook(Dir, Env, {Arch, Command, Hook}) ->
case rebar_utils:is_arch(Arch) of
true ->
apply_hook(Dir, Env, {Command, Hook});
false ->
ok
end;
apply_hook(Dir, Env, {Command, Hook}) ->
Msg = lists:flatten(io_lib:format("Hook for ~p failed!~n", [Command])),
rebar_utils:sh(Hook, [{cd, Dir}, {env, Env}, {abort_on_error, Msg}]).

Caricamento…
Annulla
Salva