rebar.config 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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 developments and tests.
  5. %% With the help of EMQX'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. ]}.
  13. {xref_checks,[undefined_function_calls,undefined_functions,locals_not_used,
  14. deprecated_function_calls,warnings_as_errors,deprecated_functions]}.
  15. %% Check the forbidden mnesia calls:
  16. {xref_queries,
  17. [ {"E || \"mnesia\":\"dirty_delete.*\"/\".*\" : Fun", []}
  18. , {"E || \"mnesia\":\"transaction\"/\".*\" : Fun", []}
  19. , {"E || \"mnesia\":\"async_dirty\"/\".*\" : Fun", []}
  20. , {"E || \"mnesia\":\"clear_table\"/\".*\" : Fun", []}
  21. , {"E || \"mnesia\":\"create_table\"/\".*\" : Fun", []}
  22. , {"E || \"mnesia\":\"delete_table\"/\".*\" : Fun", []}
  23. ]}.
  24. {dialyzer, [
  25. {warnings, [unmatched_returns, error_handling]},
  26. {plt_location, "."},
  27. {plt_prefix, "emqx_dialyzer"},
  28. {plt_apps, all_apps},
  29. {statistics, true}
  30. ]
  31. }.
  32. {cover_opts, [verbose]}.
  33. {cover_export_enabled, true}.
  34. {cover_excl_mods,
  35. [ %% generated protobuf modules
  36. emqx_exproto_pb,
  37. emqx_exhook_pb,
  38. %% taken almost as-is from OTP
  39. emqx_ssl_crl_cache
  40. ]}.
  41. %{provider_hooks, [{pre, [{release, {relup_helper, gen_appups}}]}]}.
  42. {post_hooks,[]}.
  43. {deps,
  44. [ {lc, {git, "https://github.com/emqx/lc.git", {tag, "0.3.2"}}}
  45. , {redbug, "2.0.8"}
  46. , {covertool, {git, "https://github.com/zmstone/covertool", {tag, "2.0.4.1"}}}
  47. , {gpb, "4.19.7"}
  48. , {typerefl, {git, "https://github.com/ieQu1/typerefl", {tag, "0.9.1"}}}
  49. , {gun, {git, "https://github.com/emqx/gun", {tag, "1.3.9"}}}
  50. , {ehttpc, {git, "https://github.com/emqx/ehttpc", {tag, "0.4.11"}}}
  51. , {gproc, {git, "https://github.com/emqx/gproc", {tag, "0.9.0.1"}}}
  52. , {jiffy, {git, "https://github.com/emqx/jiffy", {tag, "1.0.5"}}}
  53. , {cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.9.2"}}}
  54. , {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.6"}}}
  55. , {rocksdb, {git, "https://github.com/emqx/erlang-rocksdb", {tag, "1.8.0-emqx-1"}}}
  56. , {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.15.6"}}}
  57. , {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}}
  58. , {grpc, {git, "https://github.com/emqx/grpc-erl", {tag, "0.6.8"}}}
  59. , {minirest, {git, "https://github.com/emqx/minirest", {tag, "1.3.11"}}}
  60. , {ecpool, {git, "https://github.com/emqx/ecpool", {tag, "0.5.4"}}}
  61. , {replayq, {git, "https://github.com/emqx/replayq.git", {tag, "0.3.7"}}}
  62. , {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}}
  63. , {emqtt, {git, "https://github.com/emqx/emqtt", {tag, "1.8.6"}}}
  64. , {rulesql, {git, "https://github.com/emqx/rulesql", {tag, "0.1.7"}}}
  65. , {observer_cli, "1.7.1"} % NOTE: depends on recon 2.5.x
  66. , {system_monitor, {git, "https://github.com/ieQu1/system_monitor", {tag, "3.0.3"}}}
  67. , {getopt, "1.0.2"}
  68. , {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.8"}}}
  69. , {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.39.13"}}}
  70. , {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.2"}}}
  71. , {esasl, {git, "https://github.com/emqx/esasl", {tag, "0.2.0"}}}
  72. , {jose, {git, "https://github.com/potatosalad/erlang-jose", {tag, "1.11.2"}}}
  73. , {telemetry, "1.1.0"}
  74. , {hackney, {git, "https://github.com/emqx/hackney.git", {tag, "1.18.1-1"}}}
  75. %% in conflict by erlavro and rocketmq
  76. , {jsone, {git, "https://github.com/emqx/jsone.git", {tag, "1.7.1"}}}
  77. , {uuid, {git, "https://github.com/okeuday/uuid.git", {tag, "v2.0.6"}}}
  78. ]}.
  79. {xref_ignores,
  80. [ %% schema registry is for enterprise
  81. {emqx_schema_registry,get_all_schemas,0},
  82. {emqx_schema_api,format_schema,1},
  83. {emqx_schema_api,make_schema_params,1},
  84. {emqx_schema_parser,decode,3},
  85. {emqx_schema_parser,encode,3},
  86. {emqx_schema_registry,add_schema,1},
  87. emqx_exhook_pb, % generated code for protobuf
  88. emqx_exproto_pb % generated code for protobuf
  89. ]}.
  90. {project_plugins,
  91. [ erlfmt,
  92. {rebar3_hex, "7.0.2"},
  93. {rebar3_sbom,
  94. {git, "https://github.com/emqx/rebar3_sbom.git", {tag, "v0.6.1-1"}}}
  95. ]}.