%% -*- 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]}]}.

{plugins, [rebar_covertool]}.

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

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