Packages
atradio_erl
0.1.0
Official Erlang SDK for atradio.fm — a Rustler NIF over the shared Rust core (atradio-sdk): AppView reads, record writes, and the deterministic favorite record key shared across every atradio SDK.
Current section
Files
Jump to
Current section
Files
atradio_erl
rebar.config
rebar.config
%% atradio — official Erlang SDK for atradio.fm (Rustler NIF over the shared
%% Rust core, crates/atradio-nif).
%%
%% The multi-megabyte NIF .so is NOT bundled in the Hex tarball (it exceeds Hex's
%% 8 MB limit across platforms). Instead the loader (src/atradio_nif.erl)
%% downloads the matching atradio_nif-<triple>.so from a GitHub release on first
%% load and verifies it against priv/atradio_nif.manifest. For local monorepo
%% development, `./build.sh` builds priv/atradio_nif.so directly.
{erl_opts, [debug_info]}.
{deps, []}.
{project_plugins, [rebar3_hex, rebar3_ex_doc]}.
%% ex_doc source links must resolve to the monorepo-scoped git tag
%% (erlang-v<vsn>) AND this package's subdirectory (sdk/erlang/), since ex_doc
%% emits paths relative to the rebar3 cwd.
{ex_doc, [
{source_url, <<"https://github.com/tsirysndr/atradio.fm">>},
{source_ref, <<"bindings-v0.1.0">>},
{source_url_pattern,
<<"https://github.com/tsirysndr/atradio.fm/blob/bindings-v0.1.0/sdk/erlang/%{path}#L%{line}">>},
{extras, [<<"README.md">>]},
{main, <<"readme">>}
]}.
%% Files shipped in the Hex tarball. The .so is intentionally excluded (see
%% above); priv/ carries only the checksum manifest.
%%
%% The Hex package name is the OTP application name — `atradio_erl` (see
%% src/atradio_erl.app.src) — which avoids the unscoped `atradio` name.
%% rebar3_hex has no separate package-name key; the modules stay `atradio` /
%% `atradio_nif` for ergonomic call sites.
{hex, [
{doc, ex_doc},
{files, [
"src",
"rebar.config",
"README.md",
"priv/atradio_nif.manifest"
]}
]}.