{erl_opts, [
debug_info,
warnings_as_errors,
warn_export_all,
warn_export_vars,
warn_missing_spec,
warn_obsolete_guard,
warn_shadow_vars,
warn_untyped_record,
warn_unused_import,
warn_unused_vars
]}.
{deps, []}.
{plugins, [rebar3_hex, rebar3_ex_doc]}.
{pre_hooks, [{compile, "./c_src/build.sh"}]}.
{post_hooks, [{clean, "rm -f priv/knot.so"}]}.
{dialyzer, [{plt_extra_apps, []}]}.
{hex, [{doc, #{provider => ex_doc}}]}.
{ex_doc, [
{api_reference, true},
{extras, ["README.md", "CHANGELOG.md", "LICENSE"]},
{main, "readme"},
{source_url, "https://github.com/lpgauth/knot"}
]}.
{xref_checks, [
deprecated_functions,
deprecated_function_calls,
locals_not_used,
undefined_function_calls
]}.
{profiles, [
{bench, [
{deps, [
%% granderl 0.1.5 on hex is broken on OTP 27+ AND lacks aarch64
%% rdtsc support. Use lpgauth/granderl master (both fixes applied)
%% for the bench-only comparison.
{granderl, {git, "https://github.com/lpgauth/granderl.git", {branch, "master"}}},
{timing, {git, "https://github.com/lpgauth/timing.git", {tag, "0.1.3"}}}
]},
{extra_src_dirs, ["test"]}
]},
{test, [
{erl_opts, [nowarn_export_all, nowarn_missing_spec]},
{extra_src_dirs, ["test"]}
]}
]}.