From 04be3f596372927f07554cde76d1e343c3a146e2 Mon Sep 17 00:00:00 2001 From: "Heinz N. Gies" Date: Sun, 1 Nov 2015 00:36:13 +0100 Subject: Make output a bit more discrete --- rebar.config | 4 ++-- rebar.lock | 4 ++-- src/rebar_log.erl | 5 ++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/rebar.config b/rebar.config index eb3dd78..44fe066 100644 --- a/rebar.config +++ b/rebar.config @@ -1,14 +1,14 @@ %% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*- %% ex: ts=4 sw=4 ft=erlang et -{deps, [{erlware_commons, "0.16.0"}, +{deps, [{erlware_commons, "0.17.0"}, {ssl_verify_hostname, "1.0.5"}, {certifi, "0.1.1"}, {providers, "1.5.0"}, {getopt, "0.8.2"}, {bbmustache, "1.0.4"}, {relx, "3.7.1"}, - {cf, "0.1.3"}]}. + {cf, "0.2.1"}]}. {escript_name, rebar3}. {escript_emu_args, "%%! +sbtu +A0\n"}. diff --git a/rebar.lock b/rebar.lock index 6ee294f..7f98aa6 100644 --- a/rebar.lock +++ b/rebar.lock @@ -1,7 +1,7 @@ [{<<"bbmustache">>,{pkg,<<"bbmustache">>,<<"1.0.4">>},0}, {<<"certifi">>,{pkg,<<"certifi">>,<<"0.1.1">>},0}, - {<<"cf">>,{pkg,<<"cf">>,<<"0.1.3">>},0}, - {<<"erlware_commons">>,{pkg,<<"erlware_commons">>,<<"0.16.0">>},0}, + {<<"cf">>,{pkg,<<"cf">>,<<"0.2.1">>},0}, + {<<"erlware_commons">>,{pkg,<<"erlware_commons">>,<<"0.17.0">>},0}, {<<"getopt">>,{pkg,<<"getopt">>,<<"0.8.2">>},0}, {<<"providers">>,{pkg,<<"providers">>,<<"1.5.0">>},0}, {<<"relx">>,{pkg,<<"relx">>,<<"3.7.1">>},0}, diff --git a/src/rebar_log.erl b/src/rebar_log.erl index 06cfa9c..347cda4 100644 --- a/src/rebar_log.erl +++ b/src/rebar_log.erl @@ -49,12 +49,15 @@ init(Caller, Verbosity) -> ?INFO_LEVEL -> info; ?DEBUG_LEVEL -> debug end, - Log = ec_cmd_log:new(Level, Caller), + Log = ec_cmd_log:new(Level, Caller, low), application:set_env(rebar, log, Log). set_level(Level) -> ok = application:set_env(rebar, log_level, Level). +log(Level = error, Str, Args) -> + {ok, LogState} = application:get_env(rebar, log), + ec_cmd_log:Level(LogState, cf:format("~!^~s~n", [Str]), Args); log(Level, Str, Args) -> {ok, LogState} = application:get_env(rebar, log), ec_cmd_log:Level(LogState, Str++"~n", Args). -- cgit v1.1 From 8d22f7d368230d39aa2db34e78b01ce6868fbab7 Mon Sep 17 00:00:00 2001 From: "Heinz N. Gies" Date: Sun, 1 Nov 2015 00:41:39 +0100 Subject: Update bootstrap script to include cf --- bootstrap | 1 + 1 file changed, 1 insertion(+) diff --git a/bootstrap b/bootstrap index 25bd658..ff4e62a 100755 --- a/bootstrap +++ b/bootstrap @@ -15,6 +15,7 @@ main(_Args) -> %% Fetch and build deps required to build rebar3 BaseDeps = [{providers, []} ,{getopt, []} + ,{cf, []} ,{erlware_commons, ["ec_dictionary.erl", "ec_vsn.erl"]} ,{certifi, []}], Deps = get_deps(), -- cgit v1.1 From afd2b9b4fb2f7151a0eae1f2be876b05e7544a17 Mon Sep 17 00:00:00 2001 From: "Heinz N. Gies" Date: Sun, 1 Nov 2015 16:20:38 +0100 Subject: Fixed error log formating --- src/rebar_log.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rebar_log.erl b/src/rebar_log.erl index 347cda4..781da62 100644 --- a/src/rebar_log.erl +++ b/src/rebar_log.erl @@ -57,7 +57,7 @@ set_level(Level) -> log(Level = error, Str, Args) -> {ok, LogState} = application:get_env(rebar, log), - ec_cmd_log:Level(LogState, cf:format("~!^~s~n", [Str]), Args); + ec_cmd_log:Level(LogState, lists:flatten(cf:format("~!^~s~n", [Str])), Args); log(Level, Str, Args) -> {ok, LogState} = application:get_env(rebar, log), ec_cmd_log:Level(LogState, Str++"~n", Args). -- cgit v1.1 From 42695b42b171075b0b349a1e73688dbc19106dc1 Mon Sep 17 00:00:00 2001 From: "Heinz N. Gies" Date: Wed, 4 Nov 2015 18:21:00 +0100 Subject: Allow switching based on env variable --- src/rebar_log.erl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/rebar_log.erl b/src/rebar_log.erl index 781da62..d921110 100644 --- a/src/rebar_log.erl +++ b/src/rebar_log.erl @@ -37,6 +37,7 @@ -define(WARN_LEVEL, 1). -define(INFO_LEVEL, 2). -define(DEBUG_LEVEL, 3). +-define(DFLT_INTENSITY, low). %% =================================================================== %% Public API @@ -49,7 +50,15 @@ init(Caller, Verbosity) -> ?INFO_LEVEL -> info; ?DEBUG_LEVEL -> debug end, - Log = ec_cmd_log:new(Level, Caller, low), + Intensity = case os:getenv("REBAR_COLOR") of + "high" -> + high; + "low" -> + low; + _ -> + ?DFLT_INTENSITY + end, + Log = ec_cmd_log:new(Level, Caller, Intensity), application:set_env(rebar, log, Log). set_level(Level) -> -- cgit v1.1 From 91c47db27a3c63fc04940c7c72433062dbadf042 Mon Sep 17 00:00:00 2001 From: "Heinz N. Gies" Date: Wed, 4 Nov 2015 18:26:28 +0100 Subject: Add 'configuration' section to README --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 69fd4f6..112fa2b 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,14 @@ locations ([hex.pm](http://hex.pm), git, hg, and so on). A more complete list can be found on the [docs page](http://www.rebar3.org/v3.0/docs/commands) + +### Configuration + +Rebar3 uses the following environment variables to adjust behaviour: + +* `REBAR_COLOR` - set to `low` or `high` changes the color of the output to be more or less intense +* `TERM` - used to detect if logs should be plain text or term colored, uses termcap to determin capabilities. If set to `dumb` colors are supressed. + ### Changes #### Since Rebar 2.x -- cgit v1.1 From 949eafd8991292b1726e735d356864f079e8313a Mon Sep 17 00:00:00 2001 From: "Heinz N. Gies" Date: Tue, 9 Feb 2016 14:03:08 -0500 Subject: Some cleanup --- src/rebar_log.erl | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/rebar_log.erl b/src/rebar_log.erl index d921110..eb37869 100644 --- a/src/rebar_log.erl +++ b/src/rebar_log.erl @@ -43,6 +43,16 @@ %% Public API %% =================================================================== +intensity() -> + case os:getenv("REBAR_COLOR") of + "high" -> + high; + "low" -> + low; + _ -> + ?DFLT_INTENSITY + end. + init(Caller, Verbosity) -> Level = case valid_level(Verbosity) of ?ERROR_LEVEL -> error; @@ -50,14 +60,7 @@ init(Caller, Verbosity) -> ?INFO_LEVEL -> info; ?DEBUG_LEVEL -> debug end, - Intensity = case os:getenv("REBAR_COLOR") of - "high" -> - high; - "low" -> - low; - _ -> - ?DFLT_INTENSITY - end, + Intensity = intensity(), Log = ec_cmd_log:new(Level, Caller, Intensity), application:set_env(rebar, log, Log). -- cgit v1.1 From c79fe4cf1b123e049f9582c6f829074fe4e45d72 Mon Sep 17 00:00:00 2001 From: "Heinz N. Gies" Date: Tue, 16 Feb 2016 12:08:09 -0500 Subject: Use an app_env to get color intensity --- src/rebar_log.erl | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/rebar_log.erl b/src/rebar_log.erl index eb37869..9eb3da6 100644 --- a/src/rebar_log.erl +++ b/src/rebar_log.erl @@ -30,6 +30,7 @@ set_level/1, error_level/0, default_level/0, + intensity/0, log/3, is_verbose/1]). @@ -43,14 +44,23 @@ %% Public API %% =================================================================== +%% @doc Returns the color intensity, we first check the application envorinment +%% if that is not set we check the environment variable REBAR_COLOR. intensity() -> - case os:getenv("REBAR_COLOR") of - "high" -> - high; - "low" -> - low; - _ -> - ?DFLT_INTENSITY + case application:get_env(rebar, color_intensity) of + undefined -> + R = case os:getenv("REBAR_COLOR") of + "high" -> + high; + "low" -> + low; + _ -> + ?DFLT_INTENSITY + end, + application:set_env(rebar, color_intensity, R), + R; + {ok, Mode} -> + Mode end. init(Caller, Verbosity) -> -- cgit v1.1 From 4a5c8bc0e3c5c0ba062d92e44b4bb627ac9d8af5 Mon Sep 17 00:00:00 2001 From: "Heinz N. Gies" Date: Tue, 16 Feb 2016 12:08:23 -0500 Subject: Set relx color intensity env variable --- src/rebar_relx.erl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/rebar_relx.erl b/src/rebar_relx.erl index 5d29258..45e1c96 100644 --- a/src/rebar_relx.erl +++ b/src/rebar_relx.erl @@ -14,6 +14,8 @@ -spec do(atom(), string(), atom(), rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}. do(Module, Command, Provider, State) -> + %% We set the color mode for relx as a application env + application:set_env(relx, color_intensity, rebar_log:intensity()), Options = rebar_state:command_args(State), DepsDir = rebar_dir:deps_dir(State), ProjectAppDirs = lists:delete(".", ?DEFAULT_PROJECT_APP_DIRS), -- cgit v1.1