%% -*- erlang -*-
{erl_opts,
 [
  warnings_as_errors,
  warn_export_all,
  warn_untyped_record,
  debug_info
 ]}.

{xref_checks,
 [
  fail_on_warning,
  undefined_function_calls
 ]}.

{cover_enabled, true}.

{edoc_opts,
 [
  {doc_path,
   [
    "http://hexdocs.pm/passage",
    "http://hexdocs.pm/thrift_protocol"
   ]},
  {dialyzer_specs, all},
  {report_missing_type, true},
  {report_type_mismatch, true},
  {pretty_print, erl_pp},
  {preprocess, true}
 ]}.
{validate_app_modules, true}.

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

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

{deps,
 [
  local,
  passage,
  thrift_protocol
 ]}.

{profiles,
 [
  {test,
   [
    {plugins, [covertool]}
   ]}
 ]}.
