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

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

%% 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, "1.0.0"}, {mixer, "1.2.0", {pkg, inaka_mixer}}, {meck, "0.9.2"}]}]}]}.

{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]}]}.

{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, unknown, no_return, unmatched_returns, error_handling, underspecs]}]}.

{project_plugins,
 [{rebar3_hex, "~> 6.11.7"},
  {rebar3_format, "~> 1.0.1"},
  {rebar3_lint, "~> 0.5.0"},
  {rebar3_hank, "~> 1.2.2"},
  rebar3_depup]}.

{cover_enabled, true}.

{cover_opts, [verbose]}.

{alias,
 [{test, [compile, format, lint, hank, dialyzer, {ct, "--verbose"}, cover, edoc]}]}.

{format, [{files, ["*.config", "src/*", "test/*"]}]}.
