Simplify rebar_core

This commit is contained in:
Tuncer Ayaz 2011-01-11 11:54:10 +01:00
parent 27019e2867
commit 932eb2e343

View file

@ -120,7 +120,7 @@ parse_args(Args) ->
case getopt:parse(OptSpecList, Args) of
{ok, {Options, NonOptArgs}} ->
%% Check options and maybe halt execution
{ok, continue} = show_info_maybe_halt(Options, NonOptArgs),
ok = show_info_maybe_halt(Options, NonOptArgs),
%% Set global variables based on getopt options
set_global_flag(Options, verbose),
@ -165,31 +165,25 @@ set_global_flag(Options, Flag) ->
%% show info and maybe halt execution
%%
show_info_maybe_halt(Opts, NonOptArgs) ->
case proplists:get_bool(help, Opts) of
true ->
help(),
halt(0);
false ->
case proplists:get_bool(commands, Opts) of
true ->
commands(),
halt(0);
false ->
case proplists:get_bool(version, Opts) of
true ->
version(),
halt(0);
false ->
false = show_info_maybe_halt(help, Opts, fun help/0),
false = show_info_maybe_halt(commands, Opts, fun commands/0),
false = show_info_maybe_halt(version, Opts, fun version/0),
case NonOptArgs of
[] ->
?CONSOLE("No command to run specified!~n",[]),
help(),
halt(1);
_ ->
{ok, continue}
end
end
end
ok
end.
show_info_maybe_halt(O, Opts, F) ->
case proplists:get_bool(O, Opts) of
true ->
F(),
halt(0);
false ->
false
end.
%%