summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTuncer Ayaz <tuncer.ayaz@gmail.com>2013-12-06 20:55:41 +0100
committerTuncer Ayaz <tuncer.ayaz@gmail.com>2013-12-06 21:39:53 +0100
commit277a10cd3b10a885b35ba9b75b85398870525658 (patch)
tree0e6a145f0f4c68683a42917d5abbde82bc7bb5a3
parentf39309a66020e13892350785bf3feff6907c5ee6 (diff)
Fix is_verbose/1 helper function
-rw-r--r--src/rebar.erl35
-rw-r--r--src/rebar_config.erl5
-rw-r--r--src/rebar_ct.erl4
-rw-r--r--src/rebar_eunit.erl2
-rw-r--r--src/rebar_log.erl6
-rw-r--r--src/rebar_xref.erl2
6 files changed, 30 insertions, 24 deletions
diff --git a/src/rebar.erl b/src/rebar.erl
index 1efa43f..8fad12f 100644
--- a/src/rebar.erl
+++ b/src/rebar.erl
@@ -258,20 +258,27 @@ save_options(Config, {Options, NonOptArgs}) ->
%% set log level based on getopt option
%%
set_log_level(Config, Options) ->
- Level = case proplists:get_bool(quiet, Options) of
- true ->
- rebar_log:error_level();
- false ->
- DefaultLevel = rebar_log:default_level(),
- case proplists:get_all_values(verbose, Options) of
- [] ->
- DefaultLevel;
- Verbosities ->
- DefaultLevel + lists:last(Verbosities)
- end
- end,
-
- rebar_config:set_global(Config, verbose, Level).
+ {IsVerbose, Level} =
+ case proplists:get_bool(quiet, Options) of
+ true ->
+ {false, rebar_log:error_level()};
+ false ->
+ DefaultLevel = rebar_log:default_level(),
+ case proplists:get_all_values(verbose, Options) of
+ [] ->
+ {false, DefaultLevel};
+ Verbosities ->
+ {true, DefaultLevel + lists:last(Verbosities)}
+ end
+ end,
+
+ case IsVerbose of
+ true ->
+ Config1 = rebar_config:set_xconf(Config, is_verbose, true),
+ rebar_config:set_global(Config1, verbose, Level);
+ false ->
+ rebar_config:set_global(Config, verbose, Level)
+ end.
%%
%% show version information and halt
diff --git a/src/rebar_config.erl b/src/rebar_config.erl
index fe6945e..9b58d4f 100644
--- a/src/rebar_config.erl
+++ b/src/rebar_config.erl
@@ -31,7 +31,6 @@
get_all/2,
set/3,
set_global/3, get_global/3,
- is_verbose/1,
save_env/3, get_env/2, reset_envs/1,
set_skip_dir/2, is_skip_dir/2, reset_skip_dirs/1,
clean_config/2,
@@ -110,10 +109,6 @@ get_global(Config, Key, Default) ->
Value
end.
-is_verbose(Config) ->
- DefaultLevel = rebar_log:default_level(),
- get_global(Config, verbose, DefaultLevel) > DefaultLevel.
-
consult_file(File) ->
case filename:extension(File) of
".script" ->
diff --git a/src/rebar_ct.erl b/src/rebar_ct.erl
index 74ae618..91d763b 100644
--- a/src/rebar_ct.erl
+++ b/src/rebar_ct.erl
@@ -101,7 +101,7 @@ run_test(TestDir, LogDir, Config, _File) ->
{Cmd, RawLog} = make_cmd(TestDir, LogDir, Config),
?DEBUG("ct_run cmd:~n~p~n", [Cmd]),
clear_log(LogDir, RawLog),
- Output = case rebar_config:is_verbose(Config) of
+ Output = case rebar_log:is_verbose(Config) of
false ->
" >> " ++ RawLog ++ " 2>&1";
true ->
@@ -172,7 +172,7 @@ check_log(Config,RawLog,Fun) ->
%% Show the log if it hasn't already been shown because verbose was on
show_log(Config, RawLog) ->
?CONSOLE("Showing log\n", []),
- case rebar_config:is_verbose(Config) of
+ case rebar_log:is_verbose(Config) of
false ->
{ok, Contents} = file:read_file(RawLog),
?CONSOLE("~s", [Contents]);
diff --git a/src/rebar_eunit.erl b/src/rebar_eunit.erl
index d39b1a2..6ea28f7 100644
--- a/src/rebar_eunit.erl
+++ b/src/rebar_eunit.erl
@@ -408,7 +408,7 @@ perform_eunit(Config, Tests) ->
get_eunit_opts(Config) ->
%% Enable verbose in eunit if so requested..
- BaseOpts = case rebar_config:is_verbose(Config) of
+ BaseOpts = case rebar_log:is_verbose(Config) of
true ->
[verbose];
false ->
diff --git a/src/rebar_log.erl b/src/rebar_log.erl
index 8be090b..ba25332 100644
--- a/src/rebar_log.erl
+++ b/src/rebar_log.erl
@@ -31,7 +31,8 @@
error_level/0,
default_level/0,
log/3,
- log/4]).
+ log/4,
+ is_verbose/1]).
-define(ERROR_LEVEL, 0).
-define(WARN_LEVEL, 1).
@@ -69,6 +70,9 @@ log(Device, Level, Str, Args) ->
error_level() -> ?ERROR_LEVEL.
default_level() -> ?WARN_LEVEL.
+is_verbose(Config) ->
+ rebar_config:get_xconf(Config, is_verbose, false).
+
%% ===================================================================
%% Internal functions
%% ===================================================================
diff --git a/src/rebar_xref.erl b/src/rebar_xref.erl
index eaf6d03..0d89460 100644
--- a/src/rebar_xref.erl
+++ b/src/rebar_xref.erl
@@ -51,7 +51,7 @@ xref(Config, _) ->
xref:set_default(xref, [{warnings,
rebar_config:get(Config, xref_warnings, false)},
- {verbose, rebar_config:is_verbose(Config)}]),
+ {verbose, rebar_log:is_verbose(Config)}]),
{ok, _} = xref:add_directory(xref, "ebin"),