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

{deps, [
    {egrpc, "0.1.1"},
    gun
]}.

{shell, [
    {config, "config/sys.dev.config"},
    {apps, [etcdgun]}
]}.

{project_plugins, [
    rebar3_ex_doc,
    {rebar3_gpb_plugin, "2.23.2"},
    {rebar3_egrpc_plugin, "0.1.0"}
]}.

{profiles, [
    {dev, [
        {deps, [
            {logger_colorful, "0.1.0"}
        ]},
        {provider_hooks, [
            {pre, [
                {compile, {protobuf, compile}},
                {clean, {protobuf, clean}}
            ]}
        ]}
    ]}
]}.

{egrpc_opts, [
    {module_name_prefix, "etcdgun_"},
    {module_name_suffix, "_client"},
    {out_dir, "src/clients"},
    {protos, "priv/protos/"}
]}.

{gpb_opts, [
    {module_name_prefix, "etcdgun_"},
    {module_name_suffix, "_pb"},
    {recursive, true},

    {json, true},
    {json_format, maps},
    {json_object_format, map},
    {json_key_format, atom},
    {json_array_format, list},
    {json_string_format, binary},
    {json_null, undefined},

    {f, [
         "rpc.proto",
         "v3election.proto",
         "v3lock.proto"
    ]},
    {i, "priv/protos/"},
    {ipath, "_build/default/plugins/gpb/priv/proto3/"},
    {ipath, "priv/protos/"},
    use_packages,
    {o_erl, "src/protos"},
    {o_hrl, "include"},
    {strings_as_binaries, true},
    maps,
    {maps_unset_optional, omitted},
    type_specs
]}.

{xref_ignores, [
    etcdgun_rpc_pb,
    etcdgun_v3election_pb,
    etcdgun_v3lock_pb
]}.

{dialyzer, [
    {plt_extra_apps, [ssl, public_key]}
]}.


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

{ex_doc, [
    {source_url, <<"https://github.com/belltoy/etcdgun">>},
    {extras, [<<"README.md">>, <<"LICENSE.md">>]},
    {main, <<"readme">>}
]}.
