%% -*- mode: erlang -*-
{erl_opts, [debug_info,
            warn_unused_vars,
            warnings_as_errors,
            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,
            warn_untyped_record,
            {platform_define, "^(2|3)", recent_otp}]}.

%% 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"}]}.
{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"}}]}]},
            {test, [{plugins, [{coveralls, "1.4.0"},
                               {rebar3_elvis_plugin, "0.0.4"}]}]},
            {gpb, [{plugins, [{rebar3_gpb_plugin, "1.10.4"}]},
                   {provider_hooks, [{pre,  [{compile, {protobuf, compile}}]},
                                     {post, [{clean,   {protobuf, clean}}]}]},
                   {gpb_opts, [{i, "src/model"},
                               {o_erl, "src/model"},
                               {o_hrl, "include"},
                               defs_as_proplists, strings_as_binaries, type_specs]}]},
            {benchmark, [{src_dirs, ["src", "benchmark"]},
                         {deps, [{'erlang-color',
                                  {git, "https://github.com/julianduque/erlang-color", {branch, "master"}}}]}]}]}.
