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.28"},
{rebar3_lint, "~> 4.0"},
{erlfmt, "~> 1.6"},
{covertool, "~> 2.0"}
]}.
{deps, [
{ranch, "~> 2.0"},
{cowboy, "~> 2.0"},
{dns_erlang, "~> 4.0"},
{telemetry, "~> 1.3"},
{segmented_cache, "~> 0.5"},
{worker_pool, "~> 6.4"},
{recon, "~> 2.5"},
{nodefinder, "2.0.7"}
]}.
{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, "5fe2a77aa8527ed8358214edd2edb3d993eb33f1"}}}
]},
{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, 60}]},
{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-example.json", "priv/zones-example.json"},
{copy, "priv/zones-test.json", "priv/zones-test.json"}
]},
{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_zone_cache,
erldns_zone_encoder,
erldns_zone_loader,
erldns_zone_parser
]}
]},
{main, <<"readme">>},
{extras, [<<"README.md">>, <<"LICENSE.md">>]}
]}.
{erlfmt, [
write,
{print_width, 140},
{files, [
"{src,test,include}/**/*.{hrl,erl,app.src}",
"erldns.example.config",
"rebar.config"
]}
]}.
{elvis, [
#{
dirs => ["src"],
filter => "*.erl",
rules => [
%% TODO: fix
{elvis_text_style, line_length, #{limit => 140, skip_comments => true, no_whitespace_after_limit => true}},
{elvis_style, dont_repeat_yourself, disable},
{elvis_style, param_pattern_matching, disable},
{elvis_style, invalid_dynamic_call, disable},
{elvis_style, god_modules, 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
}
]}.