%% -*- 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 developments and tests. %% With the help of EMQX'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 the forbidden mnesia calls: {xref_queries, [ {"E || \"mnesia\":\"dirty_delete.*\"/\".*\" : Fun", []}, {"E || \"mnesia\":\"transaction\"/\".*\" : Fun", []}, {"E || \"mnesia\":\"async_dirty\"/\".*\" : Fun", []}, {"E || \"mnesia\":\"clear_table\"/\".*\" : Fun", []}, {"E || \"mnesia\":\"create_table\"/\".*\" : Fun", []}, {"E || \"mnesia\":\"delete_table\"/\".*\" : Fun", []} ]}. {dialyzer, [ {warnings, [unmatched_returns, error_handling]}, {exclude_mods, [ emqx_exproto_v_1_connection_unary_handler_bhvr, emqx_exproto_v_1_connection_handler_client, emqx_exproto_v_1_connection_handler_bhvr, emqx_exproto_v_1_connection_adapter_client, emqx_exproto_v_1_connection_adapter_bhvr, emqx_exproto_v_1_connection_unary_handler_client, emqx_exhook_v_2_hook_provider_client, emqx_exhook_v_2_hook_provider_bhvr ]}, {plt_location, "."}, {plt_prefix, "emqx_dialyzer"}, {plt_apps, all_apps}, {statistics, true} ]}. {cover_opts, [verbose]}. {cover_export_enabled, true}. {cover_excl_mods, %% generated protobuf modules [ emqx_exproto_pb, emqx_exhook_pb, %% taken almost as-is from OTP emqx_ssl_crl_cache ]}. %{provider_hooks, [{pre, [{release, {relup_helper, gen_appups}}]}]}. {post_hooks, []}. {deps, [ {lc, {git, "https://github.com/emqx/lc.git", {tag, "0.3.2"}}}, {redbug, {git, "https://github.com/emqx/redbug", {tag, "2.0.10"}}}, {covertool, {git, "https://github.com/zmstone/covertool", {tag, "2.0.4.1"}}}, {gpb, "4.19.9"}, {typerefl, {git, "https://github.com/ieQu1/typerefl", {tag, "0.9.1"}}}, {gun, {git, "https://github.com/emqx/gun", {tag, "1.3.10"}}}, {ehttpc, {git, "https://github.com/emqx/ehttpc", {tag, "0.4.12"}}}, {gproc, {git, "https://github.com/emqx/gproc", {tag, "0.9.0.1"}}}, {jiffy, {git, "https://github.com/emqx/jiffy", {tag, "1.0.6"}}}, {cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.9.2"}}}, {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.11.1"}}}, {rocksdb, {git, "https://github.com/emqx/erlang-rocksdb", {tag, "1.8.0-emqx-2"}}}, {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.19.0"}}}, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "3.3.1"}}}, {grpc, {git, "https://github.com/emqx/grpc-erl", {tag, "0.6.12"}}}, {minirest, {git, "https://github.com/emqx/minirest", {tag, "1.3.15"}}}, {ecpool, {git, "https://github.com/emqx/ecpool", {tag, "0.5.7"}}}, {replayq, {git, "https://github.com/emqx/replayq.git", {tag, "0.3.7"}}}, {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}}, {emqtt, {git, "https://github.com/emqx/emqtt", {tag, "1.10.1"}}}, {rulesql, {git, "https://github.com/emqx/rulesql", {tag, "0.1.7"}}}, % NOTE: depends on recon 2.5.x {observer_cli, "1.7.1"}, {system_monitor, {git, "https://github.com/ieQu1/system_monitor", {tag, "3.0.3"}}}, {getopt, "1.0.2"}, {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.8"}}}, {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.42.1"}}}, {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.3"}}}, {esasl, {git, "https://github.com/emqx/esasl", {tag, "0.2.0"}}}, {jose, {git, "https://github.com/potatosalad/erlang-jose", {tag, "1.11.2"}}}, {telemetry, "1.1.0"}, {hackney, {git, "https://github.com/emqx/hackney.git", {tag, "1.18.1-1"}}}, %% to keep in sync with mix.exs {ssl_verify_fun, "1.1.7"}, %% in conflict by erlavro and rocketmq {jsone, {git, "https://github.com/emqx/jsone.git", {tag, "1.7.1"}}}, {uuid, {git, "https://github.com/okeuday/uuid.git", {tag, "v2.0.6"}}}, {ssl_verify_fun, "1.1.7"}, {rfc3339, {git, "https://github.com/emqx/rfc3339.git", {tag, "0.2.3"}}}, {bcrypt, {git, "https://github.com/emqx/erlang-bcrypt.git", {tag, "0.6.2"}}} ]}. {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_audit, log, 2}, % generated code for protobuf emqx_exhook_pb, % generated code for protobuf emqx_exproto_pb ]}. {eunit_opts, [verbose]}. {project_plugins, [ {erlfmt, "1.3.0"}, {rebar3_hex, "7.0.2"}, {rebar3_sbom, {git, "https://github.com/emqx/rebar3_sbom.git", {tag, "v0.6.1-1"}}} ]}.