Packages
An Erlang DNS message library that supports most common record types, TSIG authenticated messages, EDNS0 and DNSSEC.
Current section
Files
Jump to
Current section
Files
dns_erlang
rebar.config
rebar.config
{minimum_otp_vsn, "27"}.
{erl_opts, [
debug_info,
inline,
inline_list_funcs,
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,
warn_export_vars,
warn_exported_vars,
warn_unused_vars,
warn_missing_doc,
% Can't enable due to autogenerated code from lexers and public_key
% warn_missing_spec, warn_untyped_record,
{i, "scripts"}
]}.
{project_plugins, [
{rebar3_depup, "~> 0.4"},
{rebar3_hex, "~> 7.0"},
{rebar3_ex_doc, "~> 0.2"},
{rebar3_lint, "4.1.1"},
{erlfmt, "~> 1.7"},
{covertool, "~> 2.0"}
]}.
{deps, [{base32, "~> 1.0"}]}.
{profiles, [
{test, [
{deps, [{proper, "~> 1.5"}]},
{erl_opts, [nowarn_export_all, nowarn_missing_spec, nowarn_missing_doc]},
{covertool, [{coverdata_files, ["ct.coverdata"]}]},
{cover_excl_mods, [dns_zone_lexer, dns_zone_parser]},
{cover_opts, [verbose, {min_coverage, 80}]},
{cover_export_enabled, true},
{cover_enabled, true}
]}
]}.
{dialyzer, [
{warnings, [
no_return,
unmatched_returns,
error_handling,
unknown
]},
{plt_extra_apps, [public_key]}
]}.
{xref_ignores, [dns_zone_lexer, dns_zone_parser]}.
{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, [
{warnings_as_errors, true},
{source_url, ~"https://github.com/dnsimple/dns_erlang"},
{main, ~"readme"},
{extras, [
~"README.md",
~"SUPPORTED_RFCS.md",
~"CHANGELOG.md",
~"LICENSE"
]},
%% Exclude generated modules: dns_zone_lexer, dns_zone_parser
{filter_modules, ~"^(?!dns_zone_lexer$|dns_zone_parser$)"}
]}.
{erlfmt, [
write,
{files, ["{src,include,test,scripts}/*.{hrl,erl,app.src,escript}", "rebar.config"]},
{exclude_files, [
"src/dns_zone_lexer.erl",
"src/dns_zone_parser.erl"
]}
]}.
{elvis, [
#{
dirs => ["src"],
filter => "*.erl",
rules => [
%% TODO: fix
{elvis_style, dont_repeat_yourself, #{min_complexity => 12}},
%% NOTE: keep
{elvis_style, private_data_types, #{ignore => [dns, dnssec]}}
],
ruleset => erl_files,
ignore => [dns_zone_lexer, dns_zone_parser]
},
#{
dirs => ["include"],
filter => "*.hrl",
ruleset => hrl_files,
rules => [{elvis_style, no_nested_hrls, disable}]
},
#{
dirs => ["."],
filter => "rebar.config",
ruleset => rebar_config
}
]}.