From a5e39c2c545e2a9dd33dc08d5161234a681d7aa6 Mon Sep 17 00:00:00 2001 From: Tuncer Ayaz Date: Mon, 12 Dec 2011 17:16:29 +0100 Subject: [PATCH] Move is_skipped_app/0 to rebar_app_utils --- src/rebar_app_utils.erl | 38 +++++++++++++++++++++++++++++++++++++- src/rebar_utils.erl | 40 +--------------------------------------- src/rebar_xref.erl | 2 +- 3 files changed, 39 insertions(+), 41 deletions(-) diff --git a/src/rebar_app_utils.erl b/src/rebar_app_utils.erl index 6dc7dec..f68f41c 100644 --- a/src/rebar_app_utils.erl +++ b/src/rebar_app_utils.erl @@ -31,7 +31,8 @@ app_src_to_app/1, app_name/1, app_applications/1, - app_vsn/1]). + app_vsn/1, + is_skipped_app/0]). -export([load_app_file/1]). % TEMPORARY @@ -104,6 +105,41 @@ app_vsn(AppFile) -> [AppFile, Reason]) end. +%% +%% Return: true, if we are in the context of a 'Skipped App', else: false +%% (Example: rebar xref skip_app=mochiweb,webmachine) +is_skipped_app() -> + case rebar_config:get_global(skip_app, undefined) of + undefined -> + %% no skip list + false; + + SkipApps -> + + case string:tokens(SkipApps, ",") of + [] -> + %% no tokens + false; + + SkipAppsTokens -> + + %% Where we are at the moment + Cwd = rebar_utils:get_cwd(), + + %% Return true if app should be skipped + SkipPred = fun(App) -> + case re:run(Cwd, App) of + {match,_} -> true; + _ -> false + end + end, + + %% Check if 'we' are among the skipped apps. + lists:foldl(fun(SkippedApp, Bool) -> + SkipPred(SkippedApp) or Bool + end, false, SkipAppsTokens) + end + end. %% =================================================================== %% Internal functions diff --git a/src/rebar_utils.erl b/src/rebar_utils.erl index 0265f45..838b71a 100644 --- a/src/rebar_utils.erl +++ b/src/rebar_utils.erl @@ -43,8 +43,7 @@ prop_check/3, expand_code_path/0, deprecated/4, deprecated/5, - expand_env_variable/3, - is_skipped_app/0 + expand_env_variable/3 ]). -include("rebar.hrl"). @@ -201,43 +200,6 @@ expand_env_variable(InStr, VarName, RawVarValue) -> re:replace(InStr, RegEx, [VarValue, "\\2"], ReOpts) end. -%% -%% Return: true , if we are in the context of a 'Skipped App', else: false -%% (Example: rebar xref skip_app=mochiweb,webmachine) -is_skipped_app() -> - case rebar_config:get_global(skip_app, undefined) of - undefined -> - %% no skip list - false; - - SkipApps -> - - case string:tokens(SkipApps, ",") of - [] -> - %% no tokens - false; - - SkipAppsTokens -> - - %% Where we are at the moment - Cwd = rebar_utils:get_cwd(), - - %% Return true if app should be skipped - SkipPred = fun(App) -> - case re:run(Cwd, App) of - {match,_} -> true; - _ -> false - end - end, - - %% Check if 'we' are among the skipped apps. - lists:foldl(fun(SkippedApp, Bool) -> - SkipPred(SkippedApp) or Bool - end, false, SkipAppsTokens) - end - end. - - %% ==================================================================== %% Internal functions %% ==================================================================== diff --git a/src/rebar_xref.erl b/src/rebar_xref.erl index f5912f8..0af741f 100644 --- a/src/rebar_xref.erl +++ b/src/rebar_xref.erl @@ -41,7 +41,7 @@ %% =================================================================== xref(Config, _X) -> - case rebar_utils:is_skipped_app() of + case rebar_app_utils:is_skipped_app() of true -> ok; false -> xref0(Config, _X) end.