mirror of
https://github.com/correl/rebar.git
synced 2024-12-18 11:06:20 +00:00
Avoid passing more than one instance of ERL_LIBS to child processes
This commit fixes issue #98 by removing the ERL_LIBS and REBAR_DEPS_DIR from the list of environment variables exported by the rebar_port_compiler plugin.
This commit is contained in:
parent
a94c968951
commit
4993a83820
1 changed files with 11 additions and 1 deletions
|
@ -498,10 +498,20 @@ erts_dir() ->
|
||||||
|
|
||||||
os_env() ->
|
os_env() ->
|
||||||
ReOpts = [{return, list}, {parts, 2}, unicode],
|
ReOpts = [{return, list}, {parts, 2}, unicode],
|
||||||
Os = [list_to_tuple(re:split(S, "=", ReOpts)) || S <- os:getenv()],
|
Os = [list_to_tuple(re:split(S, "=", ReOpts)) ||
|
||||||
|
S <- lists:filter(fun discard_deps_vars/1, os:getenv())],
|
||||||
%% Drop variables without a name (win32)
|
%% Drop variables without a name (win32)
|
||||||
[T1 || {K, _V} = T1 <- Os, K =/= []].
|
[T1 || {K, _V} = T1 <- Os, K =/= []].
|
||||||
|
|
||||||
|
%%
|
||||||
|
%% To avoid having multiple repetitions of the same environment variables
|
||||||
|
%% (ERL_LIBS), avoid exporting any variables that may cause conflict with
|
||||||
|
%% those exported by the rebar_deps module (ERL_LIBS, REBAR_DEPS_DIR)
|
||||||
|
%%
|
||||||
|
discard_deps_vars("ERL_LIBS=" ++ _Value) -> false;
|
||||||
|
discard_deps_vars("REBAR_DEPS_DIR=" ++ _Value) -> false;
|
||||||
|
discard_deps_vars(_Var) -> true.
|
||||||
|
|
||||||
select_compile_template(drv, Compiler) ->
|
select_compile_template(drv, Compiler) ->
|
||||||
select_compile_drv_template(Compiler);
|
select_compile_drv_template(Compiler);
|
||||||
select_compile_template(exe, Compiler) ->
|
select_compile_template(exe, Compiler) ->
|
||||||
|
|
Loading…
Reference in a new issue