{erl_opts, [
    debug_info,
    fail_on_warning,
    {platform_define, "^[0-9]+", namespaced_types},
    {parse_transform, lager_transform}
]}.

{minimum_otp_vsn, "27"}.

{project_plugins, [
    {rebar3_depup, "0.4.0"},
    {rebar3_hex, "~> 7.0"},
    {rebar3_ex_doc, "~> 0.2"},
    {erlfmt, "~> 1.6"}
]}.

{deps, [
    {ranch, "~> 2.0"},
    {cowboy, "~> 2.0"},

    {lager, "3.9.2"},
    recon,
    folsom,
    {dns_erlang, "3.0.2"},
    iso8601,
    {nodefinder, "2.0.7"},
    {meck, "1.0.0"}
]}.

{overrides, [
    {override, cowboy, [{deps, [{cowlib, "~> 2.0"}]}]}
]}.

{profiles, [
    {test, [
        {deps, [{proper, "1.4.0"}]},
        {erl_opts, [nowarn_export_all, nowarn_missing_spec, nowarn_missing_doc]},
        {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, lager]}
]}.

{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/**/*.{hrl,erl,app.src}",
        "test/**/*.{hrl,erl,app.src}",
        "rebar.config"
    ]}
]}.

%% This is a rebar3-ism
