diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2015-04-13 17:09:57 +0000 |
---|---|---|
committer | Fred Hebert <mononcqc@ferd.ca> | 2015-04-13 17:09:57 +0000 |
commit | 8f1bfcb5965c3647d16f3c2fe596fc35d1f94e09 (patch) | |
tree | f315836614a2eb660836fda5c9f4e08312bc3a6b /src/rebar_prv_wtf.erl | |
parent | 293b415cb300f084e584ae7247c7024e826ce480 (diff) |
Rename wtf->report, add all dep versions
Diffstat (limited to 'src/rebar_prv_wtf.erl')
-rw-r--r-- | src/rebar_prv_wtf.erl | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/src/rebar_prv_wtf.erl b/src/rebar_prv_wtf.erl deleted file mode 100644 index 9be9a4b..0000000 --- a/src/rebar_prv_wtf.erl +++ /dev/null @@ -1,100 +0,0 @@ -%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*- -%% ex: ts=4 sw=4 et - --module(rebar_prv_wtf). - --behaviour(provider). - --export([init/1, - do/1, - format_error/1]). - --include("rebar.hrl"). - --define(PROVIDER, wtf). --define(DEPS, []). --define(ISSUES_URL, "https://github.com/rebar/rebar3/issues"). - -%% =================================================================== -%% Public API -%% =================================================================== - --spec init(rebar_state:t()) -> {ok, rebar_state:t()}. -init(State) -> - State1 = rebar_state:add_provider(State, providers:create([{name, ?PROVIDER}, - {module, ?MODULE}, - {bare, false}, - {deps, ?DEPS}, - {example, "rebar3 wtf \"<task>\""}, - {short_desc, "Provide a crash report to be sent to the rebar3 issues page."}, - {desc, "Provide a crash report to be sent to the rebar3 issues page."}, - {opts, [ - {task, undefined, undefined, string, "Task to print details for."} - ]}])), - {ok, State1}. - --spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}. -do(State) -> - %% Show command - Task = rebar_state:command_args(State), - Command = parse_task(Task), - %% Show command version (if a plugin?) - %% ... - %% Show app versions (including rebar3) - {ok, Vsn} = application:get_key(rebar, vsn), - Vsns = application:which_applications(), - %% Show OS and versions - OS = erlang:system_info(system_architecture), - %% Erlang version (ERTS) - ERTS = erlang:system_info(system_version), - %% ERTS root directory - Root = code:root_dir(), - Lib = code:lib_dir(), - %% datetime - UTC = calendar:universal_time(), - %% - ?CONSOLE( - "Rebar3 wtf report~n" - " version ~s~n" - " generated at ~s~n" - "=================~n" - "Please submit this along with your issue at ~s " - "(and feel free to edit out private information, if any)~n" - "-----------------~n" - "Task: ~ts~n" - "Entered as:~n" - " ~ts~n" - "-----------------~n" - "Operating System: ~ts~n" - "ERTS: ~ts" - "Root Directory: ~ts~n" - "Library directory: ~ts~n" - "-----------------~n" - "Loaded Applications:~n" - "~p~n" - "-----------------~n" - "Escript path: ~ts~n" - "Providers:~n" - " ~s", - [Vsn, time_to_string(UTC), - ?ISSUES_URL, Command, Task, - OS, ERTS, Root, Lib, - Vsns, - rebar_state:escript_path(State), - [providers:format(P)++" " - || P <- lists:sort(rebar_state:providers(State))] - ] - ), - {ok, State}. - --spec format_error(any()) -> iolist(). -format_error(Reason) -> - io_lib:format("~p", [Reason]). - -time_to_string({{Y,M,D},{H,Min,S}}) -> - lists:flatten(io_lib:format("~4..0w-~2..0w-~2..0wT~2..0w:~2..0w:~2..0w+00:00", - [Y,M,D,H,Min,S])). - -parse_task(Str) -> - hd(re:split(Str, " ")). - |