% 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, [ {prometheus, "4.8.1"}, {prometheus_cowboy, "0.1.8"}, {genlib, {git, "https://github.com/valitydev/genlib.git", {branch, "master"}}}, {uuid, {git, "https://github.com/okeuday/uuid.git", {branch, "master"}}}, {scoper, {git, "https://github.com/valitydev/scoper.git", {branch, "master"}}}, {thrift, {git, "https://github.com/valitydev/thrift_erlang.git", {branch, "master"}}}, {woody, {git, "https://github.com/valitydev/woody_erlang.git", {branch, "master"}}}, {erl_health, {git, "https://github.com/valitydev/erlang-health.git", {branch, "master"}}}, {machinery, {git, "https://github.com/valitydev/machinery-erlang.git", {branch, "master"}}}, {damsel, {git, "https://github.com/valitydev/damsel.git", {branch, "master"}}}, {dmt_client, {git, "https://github.com/valitydev/dmt_client.git", {branch, "master"}}}, {fistful_proto, {git, "https://github.com/valitydev/fistful-proto.git", {branch, "master"}}}, {binbase_proto, {git, "https://github.com/valitydev/binbase-proto.git", {branch, "master"}}}, {party_client, {git, "https://github.com/valitydev/party-client-erlang.git", {branch, "master"}}}, {bender_client, {git, "https://github.com/valitydev/bender-client-erlang.git", {branch, "master"}}}, {limiter_proto, {git, "https://github.com/valitydev/limiter-proto.git", {branch, "master"}}}, {validator_personal_data_proto, {git, "https://github.com/valitydev/validator-personal-data-proto.git", {branch, "master"}}}, {opentelemetry_api, "1.2.1"}, {opentelemetry, "1.3.0"}, {opentelemetry_exporter, "1.3.0"} ]}. {xref_checks, [ undefined_function_calls, undefined_functions, deprecated_functions_calls, deprecated_functions ]}. {dialyzer, [ {warnings, [ % mandatory unmatched_returns, error_handling, race_conditions, unknown ]}, {plt_apps, all_deps} ]}. {project_app_dirs, [ "apps/ff_claim", "apps/ff_core", "apps/ff_server", "apps/ff_transfer", "apps/ff_validator", "apps/fistful", "apps/machinery_extra", "apps/w2w" ]}. {profiles, [ {prod, [ {deps, [ {how_are_you, {git, "https://github.com/valitydev/how_are_you.git", {ref, "2fd80134"}}}, {woody_api_hay, {git, "https://github.com/valitydev/woody_api_hay.git", {ref, "4c39134cd"}}}, % Introspect a node running in production {recon, "2.5.2"}, {logger_logstash_formatter, {git, "https://github.com/valitydev/logger_logstash_formatter.git", {ref, "08a66a6"}}}, {iosetopts, {git, "https://github.com/valitydev/iosetopts.git", {ref, "edb445c"}}} ]}, {relx, [ {release, {'fistful-server', "0.1"}, [ iosetopts, % debugger {runtime_tools, load}, % profiler {tools, load}, {recon, load}, {opentelemetry, temporary}, {logger_logstash_formatter, load}, prometheus, prometheus_cowboy, woody_api_hay, how_are_you, sasl, ff_server ]}, {sys_config, "./config/sys.config"}, {vm_args, "./config/vm.args"}, {mode, minimal}, {extended_start_script, true} ]} ]}, {test, [ {deps, [ {meck, "0.9.2"}, {jose, "1.11.2"} ]}, {project_app_dirs, ["apps/*"]}, {cover_enabled, true}, {cover_excl_apps, [ff_cth]}, {dialyzer, [{plt_extra_apps, [eunit, common_test, meck, jose]}]} ]} ]}. {project_plugins, [ {rebar3_lint, "1.0.1"}, {covertool, "2.0.4"}, {erlfmt, "1.0.0"} ]}. {erlfmt, [ {print_width, 120}, {files, [ "apps/ff*/{src,include,test}/*.{hrl,erl,app.src}", "apps/fistful/{src,include,test}/*.{hrl,erl,app.src}", "apps/machinery_extra/{src,include,test}/*.{hrl,erl,app.src}", "apps/w2w/{src,include,test}/*.{hrl,erl,app.src}", "rebar.config", "elvis.config", "config/sys.config", "test/*/sys.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_cowboy, [{plugins, [{rebar3_archive_plugin, "0.0.1"}]}]}, {del, prometheus_httpd, [{plugins, [{rebar3_archive_plugin, "0.0.1"}]}]} ]}.