Current section
Files
Jump to
Current section
Files
rebar.config.script
%% -*- erlang -*-
%%
%% If the environment variable X_COMP is set, it is an indication that self is being compiled
%% as a dependency under exodev. Since exodev lists all dependency in its root rebar.config
%% file in order to have a flat view of the dependency tree, we should nil out our local
%% deps list provided by our local rebar.config
%%
C0 = case os:getenv("EXODEV_COMP") of
false ->
CONFIG;
_ ->
case lists:keytake(deps, 1, CONFIG) of
{ value, _, Remainder } -> Remainder;
_ -> CONFIG
end
end,
C1 = case os:getenv("REBAR_DEPS") of
false -> C0;
[] -> C0;
Dir ->
lists:keystore(deps_dir, 1, C0, {deps_dir, Dir})
end.
C3 =
case os:getenv("TGT") of
false ->
C1;
[] ->
C1;
Tgt ->
io:fwrite("Tgt = ~p~n", [Tgt]),
{_, Opts} = lists:keyfind(edoc_opts, 1, C1),
{_, {F,URL}} = lists:keyfind(top_level_readme, 1, Opts),
Name = lists:last(string:tokens(URL, "/")),
io:fwrite("Name = ~s~n", [Name]),
NewURL = re:replace(URL, "[^/]+/" ++ Name, Tgt ++ "/" ++ Name,
[{return, list}]),
C2 =
lists:keyreplace(
edoc_opts, 1,
C1,
{edoc_opts, lists:keyreplace(top_level_readme, 1, Opts,
{top_level_readme, {F, NewURL}})}),
io:fwrite("CONFIG1 = ~p~n", [C2]),
C2
end.
Script = escript:script_name(),
REBAR = case filename:basename(Script) of
"rebar3" ->
"make";
_ ->
Script
end,
case lists:keyfind(post_hooks, 1, C3) of
{_, PostHooks} ->
PH1 = lists:map(
fun({compile, "make escriptize"}) ->
{compile, REBAR ++ " escriptize"};
(X) -> X
end, PostHooks),
lists:keyreplace(
post_hooks, 1, C3, {post_hooks, PH1});
false ->
C3
end.