Current section

Files

Jump to
erldns rebar.config
Raw

rebar.config

{erl_opts, [
debug_info,
warn_unused_vars,
warnings_as_errors,
warn_export_all,
warn_shadow_vars,
warn_unused_import,
warn_unused_function,
warn_bif_clash,
warn_unused_record,
warn_deprecated_function,
warn_obsolete_guard,
strict_validation,
warn_export_vars,
warn_exported_vars
% warn_untyped_record
% warn_missing_spec,
% warn_missing_doc
]}.
{minimum_otp_vsn, "27"}.
{project_plugins, [
{rebar3_depup, "~> 0.4"},
{rebar3_hex, "~> 7.0"},
{rebar3_ex_doc, "~> 0.2"},
{rebar3_lint, "~> 4.1"},
{erlfmt, "~> 1.7"},
{covertool, "~> 2.0"}
]}.
{deps, [
{ranch, "~> 2.0"},
{cowboy, "~> 2.0"},
{dns_erlang, "~> 4.1"},
{telemetry, "~> 1.3"},
{segmented_cache, "~> 0.6"},
{worker_pool, "~> 6.5"},
{recon, "~> 2.5"}
]}.
{dist_node, [
{setcookie, 'erldns-cookie'},
{sname, erldns}
]}.
{overrides, [
{override, cowboy, [{deps, [{cowlib, "~> 2.0"}]}]}
]}.
{profiles, [
{test, [
{deps, [
{proper, "1.5.0"},
{meck, "1.0.0"},
{dnstest, ".*",
{git, "https://github.com/dnsimple/dnstest",
{ref, "3f6ea943372d9b89e5a85478c087eb12451fa2ed"}}}
]},
{erl_opts, [nowarn_export_all, nowarn_missing_spec, nowarn_missing_doc]},
{eunit_opts, [verbose]},
{covertool, [{coverdata_files, ["eunit.coverdata", "ct.coverdata"]}]},
{cover_opts, [verbose, {min_coverage, 75}]},
{cover_enabled, true},
{cover_export_enabled, true}
]}
]}.
{depup, [{only, minor}]}.
{shell, [{apps, [erldns]}, {config, "erldns.config"}]}.
{relx, [
{release, {erldns, git}, [erldns]},
{dev_mode, true},
{include_erts, false},
{sys_config, "erldns.config"},
{overlay, [
{copy, "priv/zones/", "priv/zones"}
]},
{extended_start_script, true}
]}.
{dialyzer, [
{warnings, [
no_unknown
]},
{plt_extra_apps, [cowboy, ranch]}
]}.
{xref_checks, [
locals_not_used,
undefined_functions,
undefined_function_calls,
{deprecated_function_calls, next_major_release},
{deprecated_functions, next_major_release}
]}.
{hex, [{doc, #{provider => ex_doc}}]}.
{ex_doc, [
{source_url, <<"https://github.com/dnsimple/erldns">>},
{groups_for_modules, [
{<<"Packet pipeline">>, [
erldns_pipeline,
erldns_query_throttle,
erldns_packet_cache,
erldns_resolver,
erldns_packet_cache,
erldns_axfr,
erldns_empty_verification
]},
{<<"Zones">>, [
erldns_zones,
erldns_zone_codec,
erldns_zone_cache,
erldns_zone_loader
]},
{<<"Listeners">>, [
erldns_listeners
]}
]},
{main, <<"readme">>},
{extras, [
<<"README.md">>,
<<"priv/zones/ZONES.md">>,
<<"DESIGN.md">>,
<<"CONTRIBUTING.md">>,
<<"BENCHMARKING.md">>,
<<"CHANGELOG.md">>,
<<"LICENSE.md">>
]}
]}.
{erlfmt, [
write,
{files, [
"{src,test,include}/**/*.{hrl,erl,app.src}",
"erldns.example.config",
"rebar.config"
]}
]}.
{elvis, [
#{
dirs => ["src"],
filter => "*.erl",
rules => [
%% TODO: fix
{elvis_style, dont_repeat_yourself, disable},
{elvis_style, invalid_dynamic_call, disable},
%% NOTE: keep
{elvis_style, private_data_types, disable}
],
ruleset => erl_files,
ignore => ['DNS-ASN1']
},
#{
dirs => ["include"],
filter => "*.hrl",
ruleset => hrl_files
},
#{
dirs => ["."],
filter => "rebar.config",
ruleset => rebar_config
}
]}.