rebar.config 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. %% -*- mode:erlang -*-
  2. %% This config file is the very basic config to compile emqx
  3. %% This allows emqx to be used as a dependency for other applications
  4. %% such as emqx module/plugin develpments and tests.
  5. %% With the help of EMQ's rebar3 fork, the config is extended
  6. %% with rebar.config.erl module. Final result is written to
  7. %% rebar.config.rendered if environment DEBUG is set.
  8. {edoc_opts, [{preprocess,true}]}.
  9. {erl_opts, [warn_unused_vars,warn_shadow_vars,warn_unused_import,
  10. warn_obsolete_guard,compressed, nowarn_unused_import,
  11. {d, snk_kind, msg}]}.
  12. {xref_checks,[undefined_function_calls,undefined_functions,locals_not_used,
  13. deprecated_function_calls,warnings_as_errors,deprecated_functions]}.
  14. %% Check for the mnesia calls forbidden by Ekka:
  15. {xref_queries,
  16. [ {"E || \"mnesia\":\"dirty_write\"/\".*\" : Fun", []}
  17. , {"E || \"mnesia\":\"dirty_delete.*\"/\".*\" : Fun", []}
  18. , {"E || \"mnesia\":\"transaction\"/\".*\" : Fun", []}
  19. , {"E || \"mnesia\":\"async_dirty\"/\".*\" : Fun", []}
  20. , {"E || \"mnesia\":\"clear_table\"/\".*\" : Fun", []}
  21. ]}.
  22. {dialyzer, [
  23. {warnings, [unmatched_returns, error_handling, race_conditions]},
  24. {plt_location, "."},
  25. {plt_prefix, "emqx_dialyzer"},
  26. {plt_apps, all_apps},
  27. {statistics, true}
  28. ]
  29. }.
  30. {cover_opts, [verbose]}.
  31. {cover_export_enabled, true}.
  32. {cover_excl_mods, [emqx_exproto_pb, emqx_exhook_pb]}.
  33. {provider_hooks, [{pre, [{release, {relup_helper, gen_appups}}]}]}.
  34. {post_hooks,[]}.
  35. {deps,
  36. [ {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
  37. , {ehttpc, {git, "https://github.com/emqx/ehttpc", {tag, "0.1.6"}}}
  38. , {gproc, {git, "https://github.com/uwiger/gproc", {tag, "0.8.0"}}}
  39. , {jiffy, {git, "https://github.com/emqx/jiffy", {tag, "1.0.5"}}}
  40. , {cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.8.2"}}}
  41. , {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.8.0"}}}
  42. , {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.10.2"}}}
  43. , {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.5.1"}}}
  44. , {cuttlefish, {git, "https://github.com/emqx/cuttlefish", {tag, "v4.0.1"}}} % TODO: delete when all apps moved to hocon
  45. , {minirest, {git, "https://github.com/emqx/minirest", {tag, "0.3.6"}}}
  46. , {ecpool, {git, "https://github.com/emqx/ecpool", {tag, "0.5.1"}}}
  47. , {replayq, {git, "https://github.com/emqx/replayq", {tag, "0.3.2"}}}
  48. , {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {branch, "2.0.4"}}}
  49. , {emqtt, {git, "https://github.com/emqx/emqtt", {tag, "1.4.1"}}}
  50. , {rulesql, {git, "https://github.com/emqx/rulesql", {tag, "0.1.2"}}}
  51. , {recon, {git, "https://github.com/ferd/recon", {tag, "2.5.1"}}}
  52. , {observer_cli, "1.6.1"} % NOTE: depends on recon 2.5.1
  53. , {getopt, "1.0.1"}
  54. , {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "0.13.0"}}}
  55. , {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.9.0"}}}
  56. , {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.2.1"}}}
  57. , {quicer, {git, "https://github.com/emqx/quic.git", {tag, "0.0.5"}}}
  58. ]}.
  59. {xref_ignores,
  60. [ %% schema registry is for enterprise
  61. {emqx_schema_registry,get_all_schemas,0},
  62. {emqx_schema_api,format_schema,1},
  63. {emqx_schema_api,make_schema_params,1},
  64. {emqx_schema_parser,decode,3},
  65. {emqx_schema_parser,encode,3},
  66. {emqx_schema_registry,add_schema,1},
  67. emqx_exhook_pb, % generated code for protobuf
  68. emqx_exproto_pb % generated code for protobuf
  69. ]}.