%% -*- mode: erlang -*-
{erl_opts, [debug_info]}.
{plugins, [{rebar3_gpb_plugin, "1.7.3"},
           {coveralls, {git, "https://github.com/markusn/coveralls-erl", "master"}},
           {rebar3_elvis_plugin, {git, "https://github.com/deadtrickster/rebar3_elvis_plugin.git", "master"}}]}.
{provider_hooks, [{pre,  [{compile, {protobuf, compile}}]},
                  {post, [{clean,   {protobuf, clean}}]}]}.
%% Awesomely bad hack to ensure prometheus_model is hidden from docs.
{post_hooks, [{"(linux|darwin|solaris|freebsd|netbsd|openbsd)",
               compile, "sh bin/set-edoc-hidden src/model/prometheus_model.erl"}]}.
{gpb_opts, [{i, "src/model"},
            {o_erl, "src/model"},
            {o_hrl, "include"},
            defs_as_proplists, strings_as_binaries, type_specs]}.
{deps, []}.
{shell, [{apps, [prometheus]}]}.
{cover_enabled, true}.
{cover_export_enabled, true}.
{cover_excl_mods, [prometheus_model, %% auto-generated from model.proto
                   prometheus_format, %% only callbacks
                   prometheus %% boilerplate application stuff
                  ]}.

{coveralls_coverdata    , "_build/test/cover/eunit.coverdata"}.
{coveralls_service_name , "travis-ci"}.

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

{profiles, [{docs, [{deps, [{edown, "0.8.1"}]},
                    {edoc_opts,
                     [{doclet, edown_doclet},
                      {dir, "doc"},
                      {subpackages, true},
                      {overview, "doc/overview.md"},
                      {top_level_readme,
                       {"./README.md",
                        "https://github.com/deadtrickster/prometheus.erl"}}]}]},
            {benchmark, [{src_dirs, ["src", "benchmark"]},
                         {deps, [{'erlang-color',
                                  {git, "https://github.com/julianduque/erlang-color", {branch, "master"}}}]}]}]}.
