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

%% == Erlang Compiler ==

%% Erlang compiler options
{erl_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
           ]}.

{extra_src_dirs, ["test_examples"]}.

{profiles, [
  {test, [
    {deps, [
      {elvis_core,  {git, "https://github.com/inaka/elvis_core.git",  {tag, "0.2.11"}}}
    ]}
  ]},
  {shell, [
    {deps, [
      {sync, {git, "https://github.com/rustyio/sync.git", {ref, "9c78e7b"}}}
    ]}
  ]}
]}.

%% == Common Test ==

%% {erl_opts, [...]}, but for CT runs
{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, []}.

%% == Cover ==

{cover_enabled, true}.

{cover_opts, [verbose]}.

%% == Dependencies ==

{deps, [{getopt, "0.8.2"}]}.

%% == Dialyzer ==

{dialyzer, [
    {warnings, [ unmatched_returns
               , error_handling
               ]},
    {get_warnings, true},
    {plt_apps, top_level_deps},
    {plt_extra_apps, []},
    {plt_location, local},
    {base_plt_apps, [stdlib, kernel]},
    {base_plt_location, global}
]}.

%% == Shell ==

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

%% == Escriptize ==

{escript_name, "xrefr"}.
{escript_incl_apps, [xref_runner, getopt]}.
{escript_comments, "This is an -*- erlang -*- file"}.
{escript_emu_args, "%%! -escript main xrefr -pa xref_runner/xref_runner/ebin"}.

