80 lines
3.4 KiB
Erlang
80 lines
3.4 KiB
Erlang
%% -*- mode: erlang -*-
|
|
%% This config file is the very basic config to compile emqx
|
|
%% This allows emqx to be used as a dependency for other applications
|
|
%% such as emqx module/plugin develpments and tests.
|
|
|
|
%% With the help of EMQ's rebar3 fork, the config is extended
|
|
%% with rebar.config.erl module. Final result is written to
|
|
%% rebar.config.rendered if environment DEBUG is set.
|
|
|
|
{edoc_opts, [{preprocess,true}]}.
|
|
{erl_opts, [warn_unused_vars,warn_shadow_vars,warn_unused_import,
|
|
warn_obsolete_guard,compressed, nowarn_unused_import,
|
|
{d, snk_kind, msg}
|
|
]}.
|
|
|
|
{xref_checks,[undefined_function_calls,undefined_functions,locals_not_used,
|
|
deprecated_function_calls,warnings_as_errors,deprecated_functions]}.
|
|
|
|
%% Check for the mnesia calls forbidden by Ekka:
|
|
{xref_queries,
|
|
[ {"E || \"mnesia\":\"dirty_delete.*\"/\".*\" : Fun", []}
|
|
, {"E || \"mnesia\":\"transaction\"/\".*\" : Fun", []}
|
|
, {"E || \"mnesia\":\"async_dirty\"/\".*\" : Fun", []}
|
|
, {"E || \"mnesia\":\"clear_table\"/\".*\" : Fun", []}
|
|
]}.
|
|
|
|
{dialyzer, [
|
|
{warnings, [unmatched_returns, error_handling, race_conditions]},
|
|
{plt_location, "."},
|
|
{plt_prefix, "emqx_dialyzer"},
|
|
{plt_apps, all_apps},
|
|
{statistics, true}
|
|
]
|
|
}.
|
|
|
|
{cover_opts, [verbose]}.
|
|
{cover_export_enabled, true}.
|
|
{cover_excl_mods, [emqx_exproto_pb, emqx_exhook_pb]}.
|
|
|
|
{provider_hooks, [{pre, [{release, {relup_helper, gen_appups}}]}]}.
|
|
|
|
{post_hooks,[]}.
|
|
|
|
{deps,
|
|
[ {gpb, "4.11.2"} %% gpb only used to build, but not for release, pin it here to avoid fetching a wrong version due to rebar plugins scattered in all the deps
|
|
, {typerefl, {git, "https://github.com/k32/typerefl", {tag, "0.8.5"}}}
|
|
, {ehttpc, {git, "https://github.com/emqx/ehttpc", {tag, "0.1.9"}}}
|
|
, {gproc, {git, "https://github.com/uwiger/gproc", {tag, "0.8.0"}}}
|
|
, {jiffy, {git, "https://github.com/emqx/jiffy", {tag, "1.0.5"}}}
|
|
, {cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.8.3"}}}
|
|
, {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.8.3"}}}
|
|
, {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.10.8"}}}
|
|
, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.5.1"}}}
|
|
, {minirest, {git, "https://github.com/emqx/minirest", {tag, "1.2.5"}}}
|
|
, {ecpool, {git, "https://github.com/emqx/ecpool", {tag, "0.5.1"}}}
|
|
, {replayq, "0.3.3"}
|
|
, {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}}
|
|
, {emqtt, {git, "https://github.com/emqx/emqtt", {tag, "1.4.3"}}}
|
|
, {rulesql, {git, "https://github.com/emqx/rulesql", {tag, "0.1.2"}}}
|
|
, {observer_cli, "1.7.1"} % NOTE: depends on recon 2.5.x
|
|
, {getopt, "1.0.2"}
|
|
, {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "0.14.1"}}}
|
|
, {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.19.5"}}}
|
|
, {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.4.1"}}}
|
|
, {esasl, {git, "https://github.com/emqx/esasl", {tag, "0.2.0"}}}
|
|
, {jose, {git, "https://github.com/potatosalad/erlang-jose", {tag, "1.11.1"}}}
|
|
]}.
|
|
|
|
{xref_ignores,
|
|
[ %% schema registry is for enterprise
|
|
{emqx_schema_registry,get_all_schemas,0},
|
|
{emqx_schema_api,format_schema,1},
|
|
{emqx_schema_api,make_schema_params,1},
|
|
{emqx_schema_parser,decode,3},
|
|
{emqx_schema_parser,encode,3},
|
|
{emqx_schema_registry,add_schema,1},
|
|
emqx_exhook_pb, % generated code for protobuf
|
|
emqx_exproto_pb % generated code for protobuf
|
|
]}.
|