Bladeren bron

Fixed issue 1 "priv/mibs/ is not automatically created"

pull/3/head
Tuncer Ayaz 15 jaren geleden
bovenliggende
commit
4ac1f3efe9
2 gewijzigde bestanden met toevoegingen van 22 en 2 verwijderingen
  1. +2
    -1
      src/rebar_erlc_compiler.erl
  2. +20
    -1
      src/rebar_utils.erl

+ 2
- 1
src/rebar_erlc_compiler.erl Bestand weergeven

@ -149,7 +149,8 @@ internal_erl_compile(Source, Config, Outdir) ->
skipped
end.
compile_mib(Source, _Target, Config) ->
compile_mib(Source, Target, Config) ->
ok = rebar_utils:ensure_dir(Target),
Opts = [{outdir, "priv/mibs"}, {i, ["priv/mibs"]}] ++
rebar_config:get(Config, mib_opts, []),
case snmpc:compile(Source, Opts) of

+ 20
- 1
src/rebar_utils.erl Bestand weergeven

@ -32,7 +32,8 @@
sh/2, sh/3,
sh_failfast/2,
find_files/2,
now_str/0]).
now_str/0,
ensure_dir/1]).
-include("rebar.hrl").
@ -89,6 +90,24 @@ now_str() ->
lists:flatten(io_lib:format("~4b/~2..0b/~2..0b ~2..0b:~2..0b:~2..0b",
[Year, Month, Day, Hour, Minute, Second])).
%% TODO: Review why filelib:ensure_dir/1 sometimes returns {error, eexist}.
%% There appears to be a race condition when calling ensure_dir from
%% multiple processes simultaneously.
%% This does not happen with -j1 but with anything higher than that.
%% So -j2 or default jobs setting will reveal the issue.
%% To reproduce make sure that the priv/mibs directory does not exist
%% $ rm -r priv
%% $ ./rebar -v compile
ensure_dir(Path) ->
case filelib:ensure_dir(Path) of
ok ->
ok;
{error,eexist} ->
ok;
Error ->
Error
end.
%% ====================================================================
%% Internal functions
%% ====================================================================

Laden…
Annuleren
Opslaan