%% -*- mode: erlang;erlang-indent-level: 2;indent-tabs-mode: nil -*-
%% ex: ts=4 sw=4 ft=erlang et
{erl_opts, [ warn_unused_vars
           , warn_export_all
           , warn_shadow_vars
           , warn_unused_import
           , warn_unused_function
           , warn_bif_clash
           , warn_unused_record
           , warn_deprecated_function
           , warn_obsolete_guard
           , strict_validation
           , warn_export_vars
           , warn_exported_vars
           , warn_missing_spec
           , warn_untyped_record
           , debug_info]}.

{minimum_otp_vsn, "21"}.

{cover_enabled, true}.

{cover_opts, [verbose]}.

{edoc_opts, [ {private, false}
            , {hidden, false}
            , {todo, true}
            ]}.

{dialyzer, [ {warnings, [ no_return
                        , unmatched_returns
                        , error_handling
                        , underspecs
                        ]}
           , {plt_apps, top_level_deps}
           , {plt_extra_apps, [tools, syntax_tools]}
           , {plt_location, local}
           , {base_plt_apps, [stdlib, kernel]}
           , {base_plt_location, global}
           ]}.

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

{project_plugins, [
    rebar3_hex,
    rebar3_lint,
    rebar3_hank
]}.

{alias, [{test, [xref, dialyzer, lint, hank, ct, cover, edoc]}]}.

%% == hank ==

{hank, [
    {ignore, [
        {"example/**", unnecessary_function_arguments}
    ]}
]}.
