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

%{eqwalizer_support,
%  {git_subdir,
%      "https://github.com/whatsapp/eqwalizer.git",
%      {branch, "main"},
%      "eqwalizer_support"}}
%]
{deps, [
    cowboy,
    gproc,
    bbmustache,
    jsone,
    enet,
    gpb
    ]
}.

{dialyzer, [
        {
            plt_extra_apps, [
                eunit, 
                bbmustache,
                jsone,
                cowboy,
                ranch
            ]
        }
    ]
}.

{relx, [{release, {overworld, "2.0.0"},
         [overworld,
          sasl]},

        {sys_config, "./config/sys.config"},
        {vm_args, "./config/vm.args"},

        {dev_mode, true},
        {include_erts, false},

        {extended_start_script, true}
        %{overlay, [{copy, "apps/overworld/priv/*.pem", "certificate/"}]}
]}.

{plugins, [
  {rebar3_gpb_plugin, "2.23.2"}
]}.

{project_plugins, [
  {eqwalizer_rebar3,
    {git_subdir,
        "https://github.com/whatsapp/eqwalizer.git",
        {branch, "main"},
        "eqwalizer_rebar3"}},
  rebar3_hex,
  rebar3_hank,
  rebar3_ex_doc,
  erlfmt
]}.

{erlfmt, [
    {files, "{src,include,test}/*.{erl,esh,hrl}"},
    {print_width, 96} 
]}.

{profiles, [{prod, [{relx, [{dev_mode, false},
                            {include_erts, true}]}]
            }]
}.

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

{gpb_opts, [
  {i, "priv/proto"},                % path/to/proto_dir
  {module_name_suffix, "_pb"}, % Naming convention, unless you have a good reason just go with it.
  {o_erl, "src"},              % Where the generated source is placed
  {o_hrl, "include"},          % Where the generated include files are placed
  {strings_as_binaries, false},
  {maps, true},
  {msgs_as_maps, true},
  {mapfields_as_maps, true},
  type_specs
]}.

{hank, [{ignore, ["src/*_pb.erl"]}]}.

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

{ex_doc, [
     {extras, ["README.md", "LICENSE.txt"]},
     {main, "README.md"},
     {source_url, "https://github.com/saltysystems/overworld"}
]}.
