summaryrefslogtreecommitdiff
path: root/src/rebar_app_utils.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rebar_app_utils.erl')
-rw-r--r--src/rebar_app_utils.erl14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/rebar_app_utils.erl b/src/rebar_app_utils.erl
index 1c53743..8c78850 100644
--- a/src/rebar_app_utils.erl
+++ b/src/rebar_app_utils.erl
@@ -26,7 +26,8 @@
%% -------------------------------------------------------------------
-module(rebar_app_utils).
--export([is_app_dir/0, is_app_dir/1,
+-export([find/2,
+ is_app_dir/0, is_app_dir/1,
is_app_src/1,
app_src_to_app/1,
app_name/2,
@@ -42,6 +43,17 @@
%% Public API
%% ===================================================================
+-spec find(binary(), [rebar_app_info:t()]) -> {ok, rebar_app_info:t()} | error.
+find(Name, Apps) ->
+ ec_lists:find(fun(App) -> rebar_app_info:name(App) =:= Name end, Apps).
+
+-spec find(binary(), binary(), [rebar_app_info:t()]) -> {ok, rebar_app_info:t()} | error.
+find(Name, Vsn, Apps) ->
+ ec_lists:find(fun(App) ->
+ rebar_app_info:name(App) =:= Name
+ andalso rebar_app_info:original_vsn(App) =:= Vsn
+ end, Apps).
+
is_app_dir() ->
is_app_dir(rebar_utils:get_cwd()).