%% Common project erlang options. {erl_opts, [ % mandatory debug_info, warnings_as_errors, warn_export_all, warn_missing_spec, warn_untyped_record, warn_export_vars, % by default warn_unused_record, warn_bif_clash, warn_obsolete_guard, warn_unused_vars, warn_shadow_vars, warn_unused_import, warn_unused_function, warn_deprecated_function % at will % bin_opt_info % no_auto_import % warn_missing_spec_all ]}. %% Common project dependencies. {deps, [ {genlib, {git, "https://github.com/valitydev/genlib.git", {branch, "master"}}}, {prometheus, "4.6.0"}, {woody, {git, "https://github.com/valitydev/woody_erlang.git", {branch, "master"}}}, {dmt_core, {git, "https://github.com/valitydev/dmt-core.git", {branch, "master"}}}, {damsel, {git, "https://github.com/valitydev/damsel.git", {branch, "master"}}} ]}. %% XRef checks {xref_checks, [ undefined_function_calls, undefined_functions, deprecated_functions_calls, deprecated_functions ]}. % at will % {xref_warnings, true}. %% Dialyzer static analyzing {dialyzer, [ {warnings, [ % mandatory unmatched_returns, error_handling, % NOTE 'race_conditions' was removed https://www.erlang.org/doc/apps/dialyzer/notes#dialyzer-5.0 unknown ]}, {plt_apps, all_deps} ]}. {profiles, [ {test, [ {cover_enabled, true}, {deps, [ {erl_health, {git, "https://github.com/valitydev/erlang-health.git", {branch, "master"}}} ]}, {dialyzer, [ {plt_extra_apps, [eunit, common_test, erl_health]} ]} ]} ]}. {project_plugins, [ {rebar3_lint, "1.0.1"}, {erlfmt, "1.0.0"}, {covertool, "2.0.4"} ]}. %% Linter config. {elvis_output_format, colors}. {erlfmt, [ {print_width, 120}, {files, ["{src,include,test}/*.{hrl,erl,app.src}", "rebar.config", "config/sys.config", "elvis.config"]} ]}. {covertool, [ {coverdata_files, [ "eunit.coverdata", "ct.coverdata" ]} ]}. %% NOTE %% It is needed to use rebar3 lint plugin {overrides, [ {del, accept, [{plugins, [{rebar3_archive_plugin, "0.0.2"}]}]}, {del, prometheus, [{plugins, [{rebar3_archive_plugin, "0.0.1"}]}]} ]}.