rebar.config

{erl_opts, [
    debug_info,
    warnings_as_errors
]}.

{deps, [
    {evoq, "~> 1.15"},
    {reckon_gater, "~> 2.1"}
]}.

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

{profiles, [
    {test, [
        {deps, [
            {proper, "1.4.0"},
            {meck, "0.9.2"}
        ]},
        {erl_opts, [debug_info, nowarn_export_all]},
        {extra_src_dirs, ["test/unit", "test/integration", "test/prop"]}
    ]}
]}.

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

{eunit_opts, [
    verbose,
    {report, {eunit_surefire, [{dir, "_build/test/reports"}]}}
]}.

{ct_opts, [
    {dir, "test/integration"}
]}.

{proper_opts, [{dir, "test/prop"}]}.

{cover_enabled, true}.

{dialyzer, [
    {warnings, [unknown, unmatched_returns, error_handling]},
    {plt_apps, top_level_deps},
    {plt_extra_apps, [kernel, stdlib, crypto, evoq, reckon_gater]}
]}.

{xref_checks, [undefined_function_calls, undefined_functions, locals_not_used]}.

{ex_doc, [
    {extras, [
        {"README.md", #{title => <<"Readme">>}},
        {"LICENSE", #{title => <<"License">>}},
        {"CHANGELOG.md", #{title => <<"Changelog">>}},
        {"guides/integrity.md", #{title => <<"Integrity">>}}
    ]},
    {main, <<"README.md">>},
    {source_url, <<"https://codeberg.org/reckon-db-org/mem-evoq">>}
]}.

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

{pkg, [
    {name, mem_evoq},
    {description, "In-memory event-store adapter for evoq. "
                  "Test fixtures, demos, and a reference implementation "
                  "of the evoq_event_store adapter behaviour."},
    {licenses, ["Apache-2.0"]},
    {links, [
        {"Codeberg", "https://codeberg.org/reckon-db-org/mem-evoq"},
        {"evoq", "https://codeberg.org/reckon-db-org/evoq"}
    ]},
    {files, [
        "src",
        "rebar.config",
        "rebar.lock",
        "README.md",
        "LICENSE",
        "CHANGELOG.md",
        "guides"
    ]},
    {maintainers, ["Reckon-DB"]},
    {build_tools, ["rebar3"]}
]}.