%% 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"}}}, {cowboy_draining_server, {git, "https://github.com/valitydev/cowboy_draining_server.git", {branch, "master"}}}, {uuid, {git, "https://github.com/okeuday/uuid.git", {branch, "master"}}}, {scoper, {git, "https://github.com/valitydev/scoper.git", {branch, "master"}}}, {erl_health, {git, "https://github.com/valitydev/erlang-health.git", {branch, "master"}}}, {cowboy_cors, {git, "https://github.com/valitydev/cowboy_cors.git", {branch, master}}}, {cowboy_access_log, {git, "https://github.com/valitydev/cowboy_access_log.git", {branch, "master"}}}, {woody_user_identity, {git, "https://github.com/valitydev/woody_erlang_user_identity.git", {branch, "master"}}}, {woody, {git, "https://github.com/valitydev/woody_erlang.git", {branch, master}}}, {damsel, {git, "git@github.com:valitydev/damsel.git", {branch, "IMP-281/dmt_proto"}}}, %% Libraries for postgres interaction {epg_connector, {git, "git@github.com:valitydev/epg_connector.git", {branch, master}}}, {epgsql, {git, "https://github.com/epgsql/epgsql.git", {tag, "4.7.1"}}}, {epgsql_pool, {git, "https://github.com/wgnet/epgsql_pool", {branch, "master"}}}, {herd, {git, "https://github.com/wgnet/herd.git", {tag, "1.3.4"}}}, %% For db migrations {envloader, {git, "https://github.com/nuex/envloader.git", {branch, "master"}}}, eql, getopt, {prometheus, "4.6.0"}, {prometheus_cowboy, "0.1.8"}, %% OpenTelemetry deps {opentelemetry_api, "1.2.1"}, {opentelemetry, "1.3.0"}, {opentelemetry_exporter, "1.3.0"} ]}. %% XRef checks {xref_checks, [ undefined_function_calls, undefined_functions, deprecated_functions_calls, deprecated_functions ]}. %% Dialyzer static analyzing {dialyzer, [ {warnings, [ % mandatory unmatched_returns, error_handling, % race_conditions, unknown ]}, {plt_apps, all_deps}, {incremental, true} ]}. {project_plugins, [ {rebar3_lint, "3.2.6"}, {erlfmt, "1.5.0"}, {covertool, "2.0.6"} ]}. %% Linter config. {elvis_output_format, colors}. {erlfmt, [ {print_width, 120}, {files, [ "apps/dmt*/{src,include,test}/*.{hrl,erl,app.src}", "rebar.config", "elvis.config", "config/sys.config", "test/*/sys.config" ]} ]}. {covertool, [ {coverdata_files, [ "eunit.coverdata", "ct.coverdata" ]} ]}. {shell, [ {config, "config/sys.config"}, {apps, [ dmt ]} ]}.