% -*- mode: erlang -*-
{erl_opts, [debug_info]}.

{deps, [{jiffy, "1.0.4"}, {erlexec, "1.10.9"}]}.


{plugins, [
    {rebar3_gpb_plugin, "2.13.1"},
    rebar3_lint,
    rebar3_format,
    rebar3_hex
]}.

{erl_opts, [{i, "./_build/default/plugins/gpb/include"}]}.

{gpb_opts, [
    {i, "priv/proto"},
    {module_name_suffix, "_pb"},
    {o_erl, "src"},
    {o_hrl, "include"},
    {strings_as_binaries, true},
    type_specs
]}.

{provider_hooks, [
    {pre, [
        {compile, {protobuf, compile}},
        {clean, {protobuf, clean}}
    ]}
]}.

{dialyzer, [
    {warnings, [unknown, no_return, error_handling]},
    {plt_apps, top_level_deps},
    {plt_extra_apps, []},
    {plt_location, local},
    {base_plt_apps, [erts, stdlib, kernel, sasl, runtime_tools, tools]},
    {base_plt_location, global}
]}.

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

{xref_ignores, [ %% Dynamically generated modules
    kpl_agg_pb
]}.

{cover_enabled, true}.

{alias, [{test, [format, lint, xref, dialyzer, eunit, cover]}]}.

{format, [{files, ["src/*.erl", "include/*.hrl"]}]}.
