Packages

Federated retrieval over the Macula mesh: ask every shard of an org, merge the answers

Current section

Files

Jump to
macula_rag rebar.config
Raw

rebar.config

%% -*- mode: erlang -*-
%% rebar3 configuration for macula_rag

{erl_opts, [debug_info, warnings_as_errors]}.

{deps, [
    {macula, "~> 13.0.1"}
]}.

%% Pinned: an unpinned plugin in the release path is an unreviewed change to it.
%% rebar3_hex 7.3.0 reads no environment variable for auth, so a CI publish with
%% HEX_API_KEY dies on a bare badmatch; 7.2.0 reads it. The pin is inside the
%% tag, so a re-run of a failed publish cannot fix it: it has to be right before.
{project_plugins, [
    {rebar3_hex, "7.2.0"},
    {rebar3_ex_doc, "0.3.0"},
    {rebar3_lint, "5.0.4"}
]}.

%% As macula's: a library's public API has no caller inside it, so
%% exports_not_used is left out; every other check stays.
{xref_checks, [
    undefined_function_calls,
    undefined_functions,
    locals_not_used,
    deprecated_function_calls,
    deprecated_functions
]}.

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

{hex, [
    {name, macula_rag},
    {doc, #{provider => ex_doc}},
    {licenses, ["Apache-2.0"]},
    {links, #{
        <<"GitHub">> => <<"https://github.com/macula-io/macula-rag">>
    }},
    {description, "Federated retrieval over the Macula mesh: ask every shard of an org, merge the answers"}
]}.

{ex_doc, [
    {source_url, <<"https://github.com/macula-io/macula-rag">>},
    {extras, ["README.md", "CHANGELOG.md", "LICENSE",
              "guides/getting_started.md", "guides/federation_design.md"]},
    {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} ]}
]}.