summaryrefslogtreecommitdiff
path: root/rebar.config.sample
diff options
context:
space:
mode:
authorAmit Kapoor <amit@koanect.com>2012-04-02 08:01:39 -0700
committerTuncer Ayaz <tuncer.ayaz@gmail.com>2012-04-02 19:14:37 +0200
commit0191806f9282c6ce1da0f1a2c0672406de15ed24 (patch)
tree549da2c65dc3c346a8f247199902acbe84ef302e /rebar.config.sample
parent26e12522501fbe59d85f127a5fbd26e4f464e352 (diff)
downloadrebar-0191806f9282c6ce1da0f1a2c0672406de15ed24.tar.gz
Add support for custom xref queries
The custom queries are configured in rebar.config via the tuple {xref_queries, [{query(), query_result()},...]}. The implementation passes the query() string to xref:q and compares the return value with query_result(). It will result in an error if they do not match. The following configuration, for example, is the same as running the xref check undefined_function_calls. It additionally filters ejabberd_logger:*_msg/4 from the result as these functions are generated on execution by ejabberd and not available at compile time. {xref_queries, [{"(XC - UC) || (XU - X - B - (\"ejabberd_logger\":\".*_msg\"/\"4\"))",[]}]}. This patch also modifies the build process of this package by running a custom query instead of doing a diff against a static xref_warning file.
Diffstat (limited to 'rebar.config.sample')
-rw-r--r--rebar.config.sample10
1 files changed, 10 insertions, 0 deletions
diff --git a/rebar.config.sample b/rebar.config.sample
index 0ffa884..b83ea87 100644
--- a/rebar.config.sample
+++ b/rebar.config.sample
@@ -151,5 +151,15 @@
%% == xref ==
{xref_warnings, false}.
+
%% xref checks to run
{xref_checks, [exports_not_used, undefined_function_calls]}.
+
+%% Optional custom xref queries (xref manual has details) specified as
+%% {xref_queries, [{query_string(), expected_query_result()},...]}
+%% The following for example removes all references to ejabberd:*_msg/4
+%% functions from undefined external function calls as those are in a
+%% generated module
+{xref_queries,
+ [{"(XC - UC) || (XU - X - B"
+ " - (\"ejabberd_logger\":\".*_msg\"/\"4\"))",[]}]}.