%% -*- mode: erlang;erlang-indent-level: 2;indent-tabs-mode: nil -*-
%% ex: ts=4 sw=4 ft=erlang et

%% == Erlang Compiler ==
{minimum_otp_vsn, "21.0"}.

%% Erlang compiler options
{erl_opts, [ warn_unused_vars
           , ewarn_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
           , debug_info
           ]}.

{profiles, [{test, [{deps, [ {katana_test,  "1.0.1"}
                           , {katana,       "0.4.0"}
                           , {mixer,        "1.1.0", {pkg, inaka_mixer}}
                           , {meck,         "0.8.13"}
                           ]
                   }]
           }]
}.

{ct_compile_opts, [ warn_unused_vars
                  , 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
                  , debug_info
                  ]}.

{ct_opts, []}.

{alias, [{test, [dialyzer, ct, cover]}]}.

{plugins, [ coveralls
          , {rebar3_codecov, "0.1.0"}
          ]}.

{cover_enabled          , true}.
{cover_export_enabled   , true}.

{provider_hooks, [{post, [{ct, {codecov, analyze}}]}]}.

{cover_opts, [verbose]}.

{ct_extra_params,"-no_auto_compile -dir ebin -logdir log/ct --erl_args -smp enable -boot start_sasl"}.

{edoc_opts, [ {report_missing_types, true}
            , {source_path, ["src"]}
            , {report_missing_types, true}
            , {todo, true}
            , {packages, false}
            , {subpackages, false}
            ]}.

{dialyzer,  [ {warnings,  [ race_conditions
                          , no_return
                          , unmatched_returns
                          , error_handling
                          , unknown
                          ]}
            , {plt_apps, all_deps}
            , {plt_extra_apps, [erts, kernel, stdlib]}
            , {plt_location, local}
            , {base_plt_apps, [stdlib, kernel]}
            , {base_plt_location, global}
            ]}.
