% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*-
%% ex: ts=4 sw=4 ft=erlang et
{erl_opts, [fail_on_warning,
            % debug_info,
            warn_unused_import,
            warn_export_all]}.

{clean_files, ["*.eunit", "ebin/*.beam", "ct/*.beam"]}.

{minimum_otp_vsn, "16"}.

%% Plugins
{plugins, [rebar3_hex]}.

%% Dialyzer
{dialyzer, [
    {warnings, [unmatched_returns, error_handling, no_return]},
    {get_warnings, true},
    {plt_apps, top_level_deps},
    {plt_prefix, "hashids"},
    {plt_location, local},
    {base_plt_location, "."},
    {base_plt_apps, [erts, kernel, stdlib]},
    {base_plt_prefix, "hashids"}
]}.

%% EUnit
{eunit_opts, [verbose,
                {report, {eunit_surefire, [{dir, "."}]}}]}.
{eunit_compile_opts, [{src_dirs, ["src"]}]}.

%% EDoc
{edoc_opts, [{doclet, edown_doclet},
             {dialyzer_specs, all},
             {report_missing_type, true},
             {report_type_mismatch, true},
             {pretty_print, erl_pp},
             {preprocess, true},
             {top_level_readme, {
                "./doc/README.md",
                "https://github.com/snaiper80/hashids-erlang"
             }}]}.

%% Cover
{cover_enabled, true}.
{cover_opts, [verbose]}.

%% xref
{xref_checks, [undefined_function_calls]}.

%% Profiles
{profiles, [
    {test, [
        {erl_opts, [debug_info]}
    ]},
    {docs, [{deps, [edown]}]}
]}.
