summaryrefslogtreecommitdiff
path: root/src/rebar_api.erl
diff options
context:
space:
mode:
authorFred Hebert <mononcqc@ferd.ca>2014-12-01 14:27:27 -0500
committerFred Hebert <mononcqc@ferd.ca>2014-12-01 14:27:27 -0500
commitc3d05b97244ab9ac3219459232cc7d4a33d84414 (patch)
tree6982573e8fa420578d5217a468d108b86aef98b7 /src/rebar_api.erl
parent8d655d3c502295394ab30d9fc3fd11679629885d (diff)
API for Plugins (solves #22)
- includes logging macros and turns them to functions - exports customized types
Diffstat (limited to 'src/rebar_api.erl')
-rw-r--r--src/rebar_api.erl31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/rebar_api.erl b/src/rebar_api.erl
new file mode 100644
index 0000000..c217b85
--- /dev/null
+++ b/src/rebar_api.erl
@@ -0,0 +1,31 @@
+%%% Packages rebar.hrl features and macros into a more generic API
+%%% that can be used by plugin builders.
+-module(rebar_api).
+-include("rebar.hrl").
+-export([abort/0, abort/2,
+ console/2,
+ debug/2, info/2, warn/2, error/2]).
+-export_type([rebar_dict/0, rebar_digraph/0]).
+
+%%%%%%%%%%%%%%%%%%%%%%%
+%%% Error reporting %%%
+%%%%%%%%%%%%%%%%%%%%%%%
+
+%% @doc Interrupts program flow
+abort() -> ?FAIL.
+
+%% @doc like {@link error/2}, except it also raises an
+%% exception to interrupt program flow.
+abort(Str, Args) -> ?ABORT(Str, Args).
+
+%% @doc Prints to the console, including a newline
+console(Str, Args) -> ?CONSOLE(Str, Args).
+
+%% @doc logs with severity `debug'
+debug(Str, Args) -> ?DEBUG(Str, Args).
+%% @doc logs with severity `info'
+info(Str, Args) -> ?INFO(Str, Args).
+%% @doc logs with severity `warn'
+warn(Str, Args) -> ?WARN(Str, Args).
+%% @doc logs with severity `error'
+error(Str, Args) -> ?ERROR(Str, Args).