%%-*- mode: erlang -*-
{cover_enabled, true}.

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

{project_plugins, [erlfmt, rebar3_depup]}.

{deps, [
    {lager, "3.9.2"},
    recon,
    folsom,
    {dns_erlang, "2.0.0"},
    iso8601,
    {nodefinder, "2.0.7"},
    {opentelemetry_api, "1.4.0"},
    {meck, "1.0.0"}
]}.
{profiles, [{test, [{deps, [proper]}]}]}.

{format, [
    {formatter, default_formatter},
    {files, ["src/**/*.?rl", "include/**/*.?rl"]},
    {options, #{
        paper => 160,
        ribbon => 150,
        inline_attributes => none,
        inline_qualified_function_composition => true
    }}
]}.
{depup, [{only, minor}]}.

{shell, [{apps, [erldns]}, {config, "erldns.config"}]}.

{relx, [
    {release, {erldns, "3.0.0"}, [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}
]}.

{overrides, [
    {override, dns_erlang, [
        {plugins, [{provider_asn1, "0.2.3"}]},
        {provider_hooks, [
            {pre, [{compile, {asn, compile}}]},
            {post, [{clean, {asn, clean}}]}
        ]}
    ]}
]}.
{dialyzer, [{warnings, [no_unknown]}]}.
{erlfmt, [write, {print_width, 140}]}.

%% This is a rebar3-ism
