Packages

Test harness for mcl-* services: run a service's real mesh path over an in-memory macula mesh

Current section

Files

Jump to
mcl_testkit rebar.config
Raw

rebar.config

%% -*- mode: erlang -*-
%% mcl-testkit. Composes macula-testkit's in-memory mesh into the mcl_om
%% identity, so an mcl-* service's real publish/subscribe path runs in process.
%%
%% Depends on mcl_om (the facade services call, and the module stubbed), meck
%% (to stub the identity), macula_testkit (the in-memory pools) and macula,
%% declared directly because the harness publishes and subscribes itself.

{erl_opts, [debug_info, warnings_as_errors]}.

{deps, [
    {meck, "~> 1.2"},
    {mcl_om, "~> 0.27"},
    {macula_testkit, "~> 0.1"},
    {macula, "~> 12.1"}
]}.

%% Every plugin pinned: the pin lives in this file, so it is inside the
%% release tag (rebar3_hex 7.3.0 stopped reading HEX_API_KEY).
{project_plugins, [
    {rebar3_hex, "~> 7.2.0"},
    {rebar3_ex_doc, "0.3.0"},
    {rebar3_lint, "6.0.0"}
]}.

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

{ex_doc, [
    {source_url, <<"https://github.com/macula-services/mcl-testkit">>},
    {extras, ["README.md", "CHANGELOG.md", "LICENSE"]},
    {main, "README.md"}
]}.

{elvis, [
    {rulesets, #{
        macula_min => [
            {elvis_style, no_deep_nesting, #{level => 2}},
            {elvis_style, no_nested_try_catch, #{}},
            {elvis_style, no_if_expression, #{}}
        ]
    }},
    {config, [#{files => ["src/**/*.erl"], ruleset => macula_min}]}
]}.