{erl_opts, [debug_info]}.

{deps, [
    {jsx, "~> 3.1"}
]}.

{project_plugins, [
    {rebar3_lfe, "~> 0.4"}
]}.

{provider_hooks, [
    {pre, [{compile, {lfe, compile}}]}
]}.

{xref_checks,[
    undefined_function_calls,undefined_functions,locals_not_used,
    deprecated_function_calls,deprecated_functions
]}.

{profiles, [
    {test, [
        {deps, [
            {proper, "~> 1.3"},
            {ltest, "~> 0.13.11"}
        ]},
        {plugins, [
            {rebar3_proper, "~> 0.12"}
        ]},
        {eunit_opts, [verbose]},
        {erl_opts, [{src_dirs, ["src", "test"]}]}
    ]},
    {maintainer, [
        {plugins, [rebar3_hex]}
    ]}
]}.

{alias, [
    {coverage, [
        {proper, "-c"},
        {cover, "-v --min_coverage=0"}
    ]},
    %% as test
    {ltest, [
        {lfe, ltest, "-tall"}
    ]},
    {check, [
        compile,
        xref,
        dialyzer,
        ltest,
        coverage
    ]},
    %% The following should be run with `rebar3 as maintainer publish`:
    {publish, [
        compile,
        {hex, "publish package"}
    ]}
]}.
