From c3d05b97244ab9ac3219459232cc7d4a33d84414 Mon Sep 17 00:00:00 2001 From: Fred Hebert Date: Mon, 1 Dec 2014 14:27:27 -0500 Subject: API for Plugins (solves #22) - includes logging macros and turns them to functions - exports customized types --- src/rebar_api.erl | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/rebar_api.erl (limited to 'src') 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). -- cgit v1.1