{erl_opts, [
    debug_info,
    warnings_as_errors,
    warn_unused_vars,
    warn_shadow_vars,
    warn_unused_import,
    warn_obsolete_guard
]}.

{src_dirs, ["src", "src/http", "src/oci", "src/adapters", "src/vcs", "src/util"]}.

{deps, []}.

{project_plugins, [rebar3_hex, rebar3_ex_doc, erlfmt]}.

{format, [
    {files, ["src/**/*.erl", "test/**/*.erl", "rebar.config"]},
    {formatters, [rebar3_format]}
]}.

{hex, [{doc, #{provider => ex_doc}}]}.

{ex_doc, [
    {extras, [{"README.md", #{title => "Overview"}}, {"LICENSE", #{title => "License"}}]},
    {main, "README.md"},
    {logo, "assets/logo.png"},
    {homepage_url, "https://github.com/intility/erlang-oci-builder"},
    {source_url, "https://github.com/intility/erlang-oci-builder"}
]}.

{profiles, [
    {test, [
        {erl_opts, [
            debug_info,
            nowarn_export_all,
            {d, 'TEST'}
        ]},
        {extra_src_dirs, [
            "test/adapters",
            "test/http",
            "test/oci",
            "test/vcs"
        ]},
        {deps, [meck]}
    ]}
]}.

%% Cover options - exclude registry module (has separate meck-based integration tests)
{cover_opts, [verbose]}.
{cover_excl_mods, [ocibuild_registry, ocibuild_registry_meck_original]}.

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

%% Minimum OTP version required
{minimum_otp_vsn, "27"}.
