Current section

Files

Jump to

rebar.config

{erl_opts, [debug_info]}.
{deps, []}.
%% The channel encodes with the `json' module, which arrived in OTP 27 and
%% which AtomVM ships too. On 26 it simply is not there, and the failure is 45
%% tests deep rather than a message saying so.
{minimum_otp_vsn, "27"}.
%% `project_plugins' rather than `plugins': these are maintainer tools, and
%% `plugins' is inherited by anything depending on this library. As `plugins' a
%% consumer built seven packages it has no use for, erlfmt and rebar3_hex among
%% them, before compiling a line of its own code.
{project_plugins, [atomvm_rebar3_plugin, erlfmt, rebar3_hex]}.
%% What goes in the published tarball. `files' is an allow list, so anything
%% not named here is left out: the examples are whole projects of their own and
%% the CI config means nothing to a consumer.
{hex, [
{doc, #{provider => edoc}}
]}.
{edoc_opts, [
{preprocess, true},
{title, "nerves_hub_link_atomvm_esp32"}
]}.
{profiles, [{test, [{erl_opts, [debug_info]}]}]}.
%% AtomVM provides `esp', `console' and `ahttp_client' on a device. None of
%% them exist on the host, so every call into them is reported as undefined.
%% Suppressing that is what makes the rest of the output worth reading: with it
%% on there are ~19 warnings and all of them are noise, so nobody looks.
{dialyzer, [
{warnings, [no_unknown]}
]}.
{xref_checks, [
undefined_function_calls,
locals_not_used,
deprecated_function_calls
]}.
{xref_ignores, [
{nh_console_h, print, 1},
{nh_io_capture, echo, 2},
{nh_ext_geo, fetch, 4},
{nh_ext_geo, collect, 3},
{nh_flash, mmap, 3},
{nh_flash, read, 3},
{nh_flash, nvs_get, 2},
{nh_ota, erase, 2},
{nh_ota, fetch, 6},
{nh_ota, receive_loop, 2},
{nh_ota, partition_write, 3},
{nh_ota, nvs_put, 2},
{nh_ota, nvs_get, 1},
{nh_ota, nvs_erase, 1},
{nh_ota, nvs_put_atomvm_boot_path, 1},
{nh_agent, reboot, 1},
{nh_console, execute, 2}
]}.
%% A signing tool, so a build can sign a packbeam without an Elixir toolchain.
%% `rebar3 escriptize` writes _build/default/bin/nh-avm.
{escript_main_app, nerves_hub_link_atomvm_esp32}.
{escript_name, "nh-avm"}.
{escript_emu_args, "%%! -escript main nh_avm_sign -noshell\n"}.