%% 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
           , {platform_define, "^[0-9]+", namespaced_types} % OTP >= 17
           ]}.

{eunit_opts, [verbose]}.

{cover_enabled, true}.
{cover_opts, [verbose]}.
{cover_excl_mods, [basho_bench_driver_eredis]}.

{dialyzer, [{plt_extra_apps, [ssl]},
            {warnings, [
                        %%   unmatched_returns
                        error_handling
                        %% , underspecs
                        %% , race_conditions
                       ]}]}.

{xref_checks, [ undefined_function_calls
              , locals_not_used
              , deprecated_function_calls
              , deprecated_functions
              ]}.

{edoc_opts, [ {doclet, edown_doclet}
            , {dialyzer_specs, all}
            , {report_missing_type, true}
            , {report_type_mismatch, true}
            , {pretty_print, erl_pp}
            , {preprocess, true}
            ]}.

{profiles, [{docs, [{deps,
                     [{edown,
                       {git, "https://github.com/uwiger/edown.git",
                        {branch, "master"}}}
                     ]}]
            }]}.

{plugins, [{rebar3_fmt, "1.18.0"}]}.
