From e1b1152b219cf65c7f8cd3b77db5cf2156fcbab7 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Sat, 20 Sep 2014 22:36:54 -0500 Subject: slowly widdling away at dialyzer errors --- src/rebar_prv_help.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/rebar_prv_help.erl') diff --git a/src/rebar_prv_help.erl b/src/rebar_prv_help.erl index a9949e7..e9d89ca 100644 --- a/src/rebar_prv_help.erl +++ b/src/rebar_prv_help.erl @@ -29,7 +29,7 @@ init(State) -> opts = []}), {ok, State1}. --spec do(rebar_state:t()) -> {ok, rebar_state:t()} | relx:error(). +-spec do(rebar_state:t()) -> {ok, rebar_state:t()}. do(State) -> help(State), {ok, State}. -- cgit v1.1 From e9a3396e56679a11ac1caa3b47f1f196f0307d72 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Sat, 27 Sep 2014 14:12:11 -0500 Subject: return error messages from providers --- src/rebar_prv_help.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/rebar_prv_help.erl') diff --git a/src/rebar_prv_help.erl b/src/rebar_prv_help.erl index e9d89ca..efc9c3f 100644 --- a/src/rebar_prv_help.erl +++ b/src/rebar_prv_help.erl @@ -29,7 +29,7 @@ init(State) -> opts = []}), {ok, State1}. --spec do(rebar_state:t()) -> {ok, rebar_state:t()}. +-spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}. do(State) -> help(State), {ok, State}. -- cgit v1.1 From b37a5ae611aaf6b84a046fbe716f40c2aa8c75d8 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Fri, 3 Oct 2014 06:33:33 -0500 Subject: move providers to separate app --- src/rebar_prv_help.erl | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/rebar_prv_help.erl') diff --git a/src/rebar_prv_help.erl b/src/rebar_prv_help.erl index efc9c3f..9c9bbde 100644 --- a/src/rebar_prv_help.erl +++ b/src/rebar_prv_help.erl @@ -3,7 +3,7 @@ -module(rebar_prv_help). --behaviour(rebar_provider). +-behaviour(provider). -export([init/1, do/1]). @@ -19,14 +19,14 @@ -spec init(rebar_state:t()) -> {ok, rebar_state:t()}. init(State) -> - State1 = rebar_state:add_provider(State, #provider{name = ?PROVIDER, - provider_impl = ?MODULE, - bare = false, - deps = ?DEPS, - example = "rebar help ", - short_desc = "Display a list of tasks or help for a given task or subtask.", - desc = "", - opts = []}), + State1 = rebar_state:add_provider(State, providers:create([{name, ?PROVIDER}, + {module, ?MODULE}, + {bare, false}, + {deps, ?DEPS}, + {example, "rebar help "}, + {short_desc, "Display a list of tasks or help for a given task or subtask."}, + {desc, ""}, + {opts, []}])), {ok, State1}. -spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}. @@ -43,6 +43,6 @@ help(State) -> getopt:usage(OptSpecList, "rebar", "", []), ?CONSOLE("~nSeveral tasks are available:~n", []), - rebar_provider:help(State), + providers:help(State), ?CONSOLE("~nRun 'rebar help ' for details.~n~n", []). -- cgit v1.1 From 587e57c03c21531dbffc0932a0a8bf9e46fa413c Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Fri, 10 Oct 2014 11:52:58 -0500 Subject: fix help task --- src/rebar_prv_help.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/rebar_prv_help.erl') diff --git a/src/rebar_prv_help.erl b/src/rebar_prv_help.erl index 9c9bbde..4b843ca 100644 --- a/src/rebar_prv_help.erl +++ b/src/rebar_prv_help.erl @@ -39,10 +39,10 @@ do(State) -> %% help(State) -> ?CONSOLE("Rebar is a tool for working with Erlang projects.~n~n", []), - OptSpecList = rebar3:option_spec_list(), + OptSpecList = rebar3:global_option_spec_list(), getopt:usage(OptSpecList, "rebar", "", []), ?CONSOLE("~nSeveral tasks are available:~n", []), - providers:help(State), + providers:help(rebar_state:providers(State)), ?CONSOLE("~nRun 'rebar help ' for details.~n~n", []). -- cgit v1.1 From 26a53f323b2238f5d0b4988db6bae5c5ba384eab Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Fri, 10 Oct 2014 18:25:15 -0500 Subject: print usage and desc of task for 'help task' --- src/rebar_prv_help.erl | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'src/rebar_prv_help.erl') diff --git a/src/rebar_prv_help.erl b/src/rebar_prv_help.erl index 4b843ca..5b9b8ca 100644 --- a/src/rebar_prv_help.erl +++ b/src/rebar_prv_help.erl @@ -25,13 +25,30 @@ init(State) -> {deps, ?DEPS}, {example, "rebar help "}, {short_desc, "Display a list of tasks or help for a given task or subtask."}, - {desc, ""}, - {opts, []}])), + {desc, "Display a list of tasks or help for a given task or subtask."}, + {opts, [ + {help_task, undefined, undefined, string, "Task to print help for."} + ]}])), {ok, State1}. -spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}. do(State) -> - help(State), + {Args, _} = rebar_state:command_parsed_args(State), + case proplists:get_value(help_task, Args, undefined) of + undefined -> + help(State); + Name -> + Providers = rebar_state:providers(State), + Provider = providers:get_provider(list_to_atom(Name), Providers), + Opts = providers:opts(Provider), + case providers:desc(Provider) of + Desc when length(Desc) > 0 -> + io:format(Desc++"~n~n"); + _ -> + ok + end, + getopt:usage(Opts, "rebar "++Name, "", []) + end, {ok, State}. %% -- cgit v1.1 From f77e5659625eedb919f0c5d477da79b3ecaa32f0 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Fri, 10 Oct 2014 18:34:59 -0500 Subject: use providers help/2 --- src/rebar_prv_help.erl | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'src/rebar_prv_help.erl') diff --git a/src/rebar_prv_help.erl b/src/rebar_prv_help.erl index 5b9b8ca..f3302c3 100644 --- a/src/rebar_prv_help.erl +++ b/src/rebar_prv_help.erl @@ -39,15 +39,7 @@ do(State) -> help(State); Name -> Providers = rebar_state:providers(State), - Provider = providers:get_provider(list_to_atom(Name), Providers), - Opts = providers:opts(Provider), - case providers:desc(Provider) of - Desc when length(Desc) > 0 -> - io:format(Desc++"~n~n"); - _ -> - ok - end, - getopt:usage(Opts, "rebar "++Name, "", []) + providers:help(Name, Providers) end, {ok, State}. -- cgit v1.1 From ae40b253c00362907f275f01f53a39f6b0c600eb Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Fri, 10 Oct 2014 18:40:08 -0500 Subject: handle unknown provider asked for help --- src/rebar_prv_help.erl | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/rebar_prv_help.erl') diff --git a/src/rebar_prv_help.erl b/src/rebar_prv_help.erl index f3302c3..33bfa2c 100644 --- a/src/rebar_prv_help.erl +++ b/src/rebar_prv_help.erl @@ -39,9 +39,14 @@ do(State) -> help(State); Name -> Providers = rebar_state:providers(State), - providers:help(Name, Providers) - end, - {ok, State}. + case providers:get_provider(Name, Providers) of + [] -> + {error, io_lib:format("Unknown task ~s", [Name])}; + Provider -> + providers:help(Provider), + {ok, State} + end + end. %% %% print help/usage string -- cgit v1.1 From 390bdbcc6d93e741cfc7afd67caf6c1bf7163aa6 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Sat, 11 Oct 2014 19:38:49 -0500 Subject: fix print help for task --- src/rebar_prv_help.erl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/rebar_prv_help.erl') diff --git a/src/rebar_prv_help.erl b/src/rebar_prv_help.erl index 33bfa2c..690ca7d 100644 --- a/src/rebar_prv_help.erl +++ b/src/rebar_prv_help.erl @@ -36,10 +36,11 @@ do(State) -> {Args, _} = rebar_state:command_parsed_args(State), case proplists:get_value(help_task, Args, undefined) of undefined -> - help(State); + help(State), + {ok, State}; Name -> Providers = rebar_state:providers(State), - case providers:get_provider(Name, Providers) of + case providers:get_provider(list_to_atom(Name), Providers) of [] -> {error, io_lib:format("Unknown task ~s", [Name])}; Provider -> -- cgit v1.1 From 21cf46ff9ce8b7748b46d2562259791e20797597 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Sat, 18 Oct 2014 13:00:18 -0500 Subject: dialyzer fixes --- src/rebar_prv_help.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/rebar_prv_help.erl') diff --git a/src/rebar_prv_help.erl b/src/rebar_prv_help.erl index 690ca7d..c2e1cd7 100644 --- a/src/rebar_prv_help.erl +++ b/src/rebar_prv_help.erl @@ -41,7 +41,7 @@ do(State) -> Name -> Providers = rebar_state:providers(State), case providers:get_provider(list_to_atom(Name), Providers) of - [] -> + not_found -> {error, io_lib:format("Unknown task ~s", [Name])}; Provider -> providers:help(Provider), -- cgit v1.1 From 1dce2d36cc75263db279abd7f282772ce0f0f3e6 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Wed, 22 Oct 2014 12:03:49 -0500 Subject: add format_error/2 provider callback to providers --- src/rebar_prv_help.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/rebar_prv_help.erl') diff --git a/src/rebar_prv_help.erl b/src/rebar_prv_help.erl index c2e1cd7..8300378 100644 --- a/src/rebar_prv_help.erl +++ b/src/rebar_prv_help.erl @@ -6,7 +6,8 @@ -behaviour(provider). -export([init/1, - do/1]). + do/1, + format_error/2]). -include("rebar.hrl"). @@ -49,6 +50,10 @@ do(State) -> end end. +-spec format_error(any(), rebar_state:t()) -> {iolist(), rebar_state:t()}. +format_error(Reason, State) -> + {io_lib:format("~p", [Reason]), State}. + %% %% print help/usage string %% -- cgit v1.1