Move version check/enforcement for reltool into rebar_reltool; rebar should work (excepting reltool support) with anything as far back as R12, once you've compiled it

This commit is contained in:
Dave Smith 2010-06-22 14:13:39 -06:00
parent 02bc52fc6a
commit 1f3c49cae7
2 changed files with 18 additions and 20 deletions

View file

@ -29,26 +29,6 @@
-export([main/1]). -export([main/1]).
main(Args) -> main(Args) ->
%% HACK: Make sure the caller is running w/ r13b03 and reltool >= 0.5.2
case erlang:system_info(version) < "5.7.4" of
true ->
io:format("Rebar requires at least erts 5.7.4; this VM is using ~s\n",
[erlang:system_info(version)]),
halt(1);
false ->
ok
end,
ReltoolVsn = filename:basename(code:lib_dir(reltool)),
case ReltoolVsn < "reltool-0.5.2" of
true ->
io:format("Rebar requires at least reltool-0.5.2; this VM is using ~s\n",
[ReltoolVsn]),
halt(1);
false ->
ok
end,
case catch(rebar_core:run(Args)) of case catch(rebar_core:run(Args)) of
ok -> ok ->
ok; ok;

View file

@ -38,6 +38,9 @@
%% =================================================================== %% ===================================================================
generate(Config, ReltoolFile) -> generate(Config, ReltoolFile) ->
%% Make sure we have decent version of reltool available
check_vsn(),
%% Load the reltool configuration from the file %% Load the reltool configuration from the file
ReltoolConfig = load_config(ReltoolFile), ReltoolConfig = load_config(ReltoolFile),
@ -72,6 +75,21 @@ clean(_Config, ReltoolFile) ->
%% Internal functions %% Internal functions
%% =================================================================== %% ===================================================================
check_vsn() ->
case code:lib_dir(reltool) of
{error, bad_name} ->
?ABORT("Reltool support requires the reltool application to be installed!", []);
Path ->
ReltoolVsn = filename:basename(Path),
case ReltoolVsn < "reltool-0.5.2" of
true ->
?ABORT("Reltool support requires at least reltool-0.5.2; this VM is using ~s\n",
[ReltoolVsn]);
false ->
ok
end
end.
%% %%
%% Load terms from reltool.config %% Load terms from reltool.config
%% %%