Current section

Files

Jump to
nhttp rebar.config
Raw

rebar.config

{minimum_otp_vsn, "27"}.

{erl_opts, [
    debug_info,
    warn_missing_spec,
    warnings_as_errors
]}.

{deps, [
    {opentelemetry_api, "1.4.0"},
    {opentelemetry_api_experimental, "0.5.1"},
    {nhttp_lib, "1.1.0"},
    {nquic, "1.0.3"}
]}.

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

{erlfmt, [write]}.

{hank, [
    {ignore, [
        "test/**",
        {"src/nhttp_acceptor_core.erl", [unnecessary_function_arguments]},
        {"src/nhttp_conn_h1_push.erl", [unnecessary_function_arguments]},
        {"src/nhttp_conn_h2.erl", [unnecessary_function_arguments]},
        {"src/nhttp_conn_h3_push.erl", [unnecessary_function_arguments]},
        {"src/nhttp_protocol.erl", [unused_callbacks]},
        {"src/nhttp_conn.hrl", [single_use_hrl_attrs]},
        {"src/nhttp_defaults.hrl", [single_use_hrl_attrs]},
        {"src/nhttp_status_codes.hrl", [single_use_hrl_attrs]},
        {"src/nhttp_ws_codes.hrl", [single_use_hrl_attrs]}
    ]}
]}.

{profiles, [
    {test, [
        {erl_opts, [nowarn_missing_spec]}
    ]},
    {bench, [
        {extra_src_dirs, [{"bench/h2_hol/src", [{recursive, false}]}]},
        {erl_opts, [nowarn_missing_spec]}
    ]}
]}.

{dialyzer, [
    {warnings, [
        unmatched_returns,
        error_handling,
        unknown,
        extra_return,
        missing_return
    ]},
    {plt_extra_apps, [
        public_key, nhttp_lib, nquic, opentelemetry_api, opentelemetry_api_experimental
    ]}
]}.

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

{ct_opts, [{verbose, true}]}.
{cover_enabled, true}.
{cover_opts, [verbose, {min_coverage, 85}]}.

{alias, [
    {check, [compile, {fmt, "--check"}, xref, dialyzer, hank]},
    {test, [ct, cover]}
]}.

{ex_doc, [
    {source_url, <<"https://github.com/nomasystems/nhttp">>},
    {homepage_url, <<"https://github.com/nomasystems/nhttp">>},
    {extras, [
        {<<"README.md">>, #{title => <<"Overview">>}},
        {<<"CHANGELOG.md">>, #{title => <<"Changelog">>}},
        {<<"LICENSE">>, #{title => <<"License">>}}
    ]},
    {main, <<"README.md">>},
    {api_reference, true},
    {groups_for_modules, [
        {<<"Public API">>, [
            nhttp,
            nhttp_handler,
            nhttp_listener
        ]},
        {<<"Requests and responses">>, [
            nhttp_req,
            nhttp_resp
        ]},
        {<<"Streaming and events">>, [
            nhttp_stream,
            nhttp_sse
        ]},
        {<<"Policies and limits">>, [
            nhttp_cors,
            nhttp_limits
        ]},
        {<<"Observability">>, [
            nhttp_otel
        ]}
    ]}
]}.

{hex, [
    {doc, ex_doc},
    {build_tools, ["rebar3"]},
    {files, [
        "src",
        "examples",
        "rebar.config",
        "README.md",
        "LICENSE",
        "CHANGELOG.md"
    ]}
]}.