%% -*- 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
     ]}
   ]},
  {test,
   [
    {plugins, [covertool]}
   ]}
 ]}.