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

{minimum_otp_vsn, "18"}.

{profiles, [
  {test, [
    {deps, [ {katana_test, "1.0.1"}
           , {mixer,       "1.0.0", {pkg, inaka_mixer}}
           , {shotgun,     "0.5.0"}
    ]}
  ]}
]}.

%% == Common Test ==

{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, [ {sys_config, ["./test/test.config"]}
          , {verbose, true}]}.

%% == Cover ==

{cover_enabled, true}.

{cover_opts, [verbose]}.

%% == Dependencies ==

{deps, [ {jsx,    "2.9.0"}
       , {cowboy, "2.8.0"}
       , {ranch,  "2.0.0"}
       , {trails, "2.1.0"}
       ]}.

%% == xref ==

{xref_ignores, [{cowboy_swagger, to_json, 1},
                {cowboy_swagger, add_definition, 2},
                {cowboy_swagger, schema, 1},
                {cowboy_swagger, enc_json, 1},
                {cowboy_swagger, dec_json, 1},
                {cowboy_swagger, swagger_paths, 1},
                {cowboy_swagger, validate_metadata, 1},
                {cowboy_swagger, filter_cowboy_swagger_handler, 1},
                {cowboy_swagger_handler, trails, 1},
                {cowboy_swagger_json_handler, handle_get, 2},
                {cowboy_swagger, add_definition_array, 2},
                {cowboy_swagger, get_existing_definitions, 1}]}.

%% == Dialyzer ==

{dialyzer, [ {warnings, [ no_return
                        , unmatched_returns
                        , error_handling
                        ]}
           , {plt_apps, top_level_deps}
           , {plt_extra_apps, [cowboy, trails, ranch, jsx]}
           , {plt_location, local}
           , {base_plt_apps, [stdlib, kernel, erts]}
           , {base_plt_location, global}]}.


%% == Shell ==

{plugins, [rebar3_auto, {rebar3_lint, "0.2.0"}, rebar3_hex]}.
