{erl_opts, [
    debug_info,
    warnings_as_errors,
    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
]}.

{deps, []}.

{project_plugins, [rebar3_ex_doc]}.

{hex, [{doc, ex_doc}]}.

{ex_doc, [
    {extras, [
        {"README.md", #{title => "Overview"}},
        {"docs/usage.md", #{title => "Usage Guide"}},
        {"docs/internals.md", #{title => "Internals"}}
    ]},
    {main, "README.md"},
    {source_url, "https://github.com/benoitc/erlang_qpack"},
    {homepage_url, "https://github.com/benoitc/erlang_qpack"}
]}.

%% Ignore test/priv subdirectories for compilation
{ct_opts, [{dir, "test"}]}.

{profiles, [
    {test, [
        {erl_opts, [nowarn_export_all, nowarn_missing_spec]},
        {deps, []}
    ]}
]}.

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

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

%% dialyzer
{dialyzer, [
    {warnings, [
        unknown,
        unmatched_returns,
        error_handling
    ]},
    {plt_apps, top_level_deps},
    {plt_extra_apps, []}
]}.
