%% -*- erlang -*-
{erl_opts,
 [warnings_as_errors,
  warn_export_all,
  warn_untyped_record,
  inline,
  {platform_define, "^R[01][0-9]", 'NO_MAP_TYPE'},
  {platform_define, "^(R|17)", 'NO_DIALYZER_SPEC'}]}.

{xref_checks, [fail_on_warning, undefined_function_calls]}.

{clean_files, [".eunit/*", "ebin/*.beam"]}.

{cover_enabled, true}.

{edoc_opts,
 [{dialyzer_specs, all},
  {report_missing_type, true},
  {report_type_mismatch, true},
  {pretty_print, erl_pp},
  {preprocess, true}]}.
{validate_app_modules, true}.

{shell, [{apps, [jsone]}]}.

{dialyzer, [{warnings, [error_handling, race_conditions, unmatched_returns, unknown, no_improper_lists]}]}.

{profiles,
 [{native, [{erl_opts, [{d, 'ENABLE_HIPE'}]}]}, {edown, [{edoc_opts, [{doclet, edown_doclet}]}, {deps, [edown]}]}]}.

{project_plugins, [covertool]}.
{cover_export_enabled, true}.
{covertool, [{coverdata_files, ["ct.coverdata", "eunit.coverdata"]}]}.

{plugins, [rebar3_efmt]}.