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.0"},
{erlfmt, "~> 1.6"},
{covertool, "~> 2.0"}
]}.
{deps, [
{ranch, "~> 2.0"},
{cowboy, "~> 2.0"},
{dns_erlang, "~> 3.1"},
{telemetry, "~> 1.3"},
{recon, "~> 2.5"},
{iso8601, "~> 1.3"},
{nodefinder, "2.0.7"}
]}.
{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, "25333aeb7abb4d1a0752d59654677e42d8ae59ca"}}}
]},
{erl_opts, [nowarn_export_all, nowarn_missing_spec, nowarn_missing_doc]},
{eunit_opts, [verbose]},
{covertool, [{coverdata_files, ["eunit.coverdata", "ct.coverdata"]}]},
%% Increment min_coverage when deprecations are removed
{cover_opts, [verbose, {min_coverage, 40}]},
{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">>},
{main, <<"readme">>},
{extras, [
{'README.md', #{title => <<"Overview">>}},
{'LICENSE.md', #{title => <<"License">>}}
]}
]}.
{erlfmt, [
write,
{print_width, 140},
{files, [
"{src,test,include}/**/*.{hrl,erl,app.src}",
"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
}
]}.