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

%% == Erlang Compiler ==

%% 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
           , {parse_transform, lager_transform}
           ]}.

{deps, [{lager, "3.6.2"}]}.

{profiles, [
  {test, [
    {erl_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_untyped_record
               , debug_info
               , {parse_transform, lager_transform}
               ]},
    {deps, [
      {katana_test, "1.0.0"},
      {mixer, "1.0.0", {pkg, inaka_mixer}}
    ]}
  ]}
]}.

{plugins, [rebar3_lint]}.

{ct_opts, []}.

{cover_enabled, true}.

{cover_excl_mods, [ rpsls_alternating_player
                  , rpsls_bart_player
                  , rpsls_beatself_player
                  , rpsls_cabra_player
                  , rpsls_copycat_player
                  , rpsls_eduardo_player
                  , rpsls_elephant_player
                  , rpsls_higherbeat_player
                  , rpsls_leor_player
                  , rpsls_lisa_player
                  , rpsls_marcelo_player
                  , rpsls_nicolas_player
                  , rpsls_random_player
                  , rpsls_randy_player
                  , rpsls_spock_player
                  ]}.

{cover_opts, [verbose]}.

{edoc_opts, [ {report_missing_types, true}
            , {source_path, ["src", "src/players"]}
            , {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}
  ]
}.
