Current section
Files
Jump to
Current section
Files
rebar.config
{deps, [
{keysmith, "0.6.1"},
{mapz, "2.4.0"}
]}.
{minimum_otp_vsn, "27"}.
{shell, [{apps, [gaffer]}]}.
{erl_opts, [
debug_info,
warnings_as_errors,
warn_export_vars,
warn_unused_import,
warn_keywords
]}.
{project_plugins, [
{rebar3_ex_doc, "0.2.31"},
{rebar3_hex, "7.1.0"},
{erlfmt, "1.8.0"},
{rebar3_lint, "4.2.3"},
{rebar3_hank, "1.6.0"},
{rebar3_uncovered, "0.1.0"}
]}.
{erlfmt, [
write,
{print_width, 80},
{files, [
"elvis.config",
"include/**/*.hrl",
"rebar.config{,.script}",
"src/**/*.{hrl,erl,app.src}",
"test/**/*.{hrl,erl}"
]}
]}.
{dialyzer, [
{plt_apps, all_deps},
incremental,
{warnings, [unmatched_returns]},
% These modules depend on test-only deps — analyzed in test profile
{exclude_mods, [gaffer_driver_pgo, gaffer_prometheus]}
]}.
{profiles, [
{test, [
{deps, [
{unite, "0.4.3"},
{pgo, "0.14.0"},
{prometheus, "5.1.1"},
{mapz, "2.4.0"},
{eqwalizer_support,
{git_subdir, "https://github.com/whatsapp/eqwalizer.git",
{ref, "8aec22a"}, "eqwalizer_support"}}
]},
% Docker compose for Postgres
{pre_hooks, [
{eunit,
"sh -c 'printf \"Starting Postgres... \" && docker compose --progress quiet up -d --wait 2>/dev/null && echo OK'"}
]},
{post_hooks, [
{eunit,
"sh -c 'printf \"Stopping Postgres... \" && docker compose --progress quiet down -t 0 2>/dev/null && echo OK'"}
]},
% Include test folder in static analysis
{extra_src_dirs, [{"test", [{recursive, true}]}]},
{xref_extra_paths, ["test"]},
{dialyzer, [{plt_extra_apps, [eunit, pgo, prometheus]}]},
% Enable cover
{cover_enabled, true},
{cover_opts, [verbose]},
% Use unite for pretty-printing
{eunit_opts, [
no_tty,
{report, {unite_compact, []}},
{sys_config, ["config/test.config"]}
]}
]}
]}.
{hex, [{doc, #{provider => ex_doc}}]}.
{ex_doc, [
{source_url, "https://github.com/eproxu/gaffer"},
{extras, [
{"README.md", #{title => "Overview"}},
{"LICENSE.md", #{title => "License"}},
{"CODE_OF_CONDUCT.md", #{title => "Code of Conduct"}},
{"CONTRIBUTING.md", #{title => "Contributing"}},
{"SECURITY.md", #{title => "Security"}}
]},
{main, "README.md"}
]}.