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, + {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, - rebar_config:set_global(Config, verbose, Level). + 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"),