%%
%% Copyright (c) 2020 dushin.net
%% All rights reserved.
%%
%% SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later

{erl_opts, [debug_info, nowarn_sasl]}.
{deps, []}.

{escript_incl_apps, [atomvm_packbeam]}.
{escript_main_app, atomvm_packbeam}.
{escript_name, packbeam}.
{escript_emu_args, "%%! -escript main packbeam"}.

{ex_doc, [
    {source_url, <<"https://github.com/atomvm/atomvm_packbeam">>},
    {extras, [
        <<"README.md">>,
        <<"CHANGELOG.md">>,
        <<"UPDATING.md">>,
        <<"LICENSE">>,
        <<"CONTRIBUTING.md">>,
        <<"CODE_OF_CONDUCT.md">>
    ]},
    {main, <<"README.md">>},
    {output, "docs"},
    {api_reference, true},
    {skip_undefined_reference_warnings_on, ["README.md"]}
]}.

%% Profiles
{profiles, [
    {test, [
        {erl_opts, [debug_info]},
        {cover_enabled, true},
        {deps, [
            {proper, "1.4.0"}
        ]},
        {plugins, [rebar3_proper]}
    ]},
    {doc, [
        {plugins, [rebar3_ex_doc]}
    ]},
    {publish, [
        {plugins, [rebar3_hex, rebar3_ex_doc]},
        {hex, [{doc, #{provider => ex_doc}}]}
    ]}
]}.

{relx, [
    {release, {atomvm_packbeam, "0.7.5"}, [
        kernel,
        stdlib,
        atomvm_packbeam
    ]},
    {mode, prod},
    {generate_start_script, false},
    {overlay, [
        {template, "release/packbeam.in", "bin/packbeam.sh"}
    ]}
]}.

%% make sure escriptize is run before we release
{provider_hooks, [
    {pre, [
        {release, escriptize}
    ]}
]}.

%% copy the generated escript into the release
{post_hooks, [
    {release, "cp ${REBAR_BUILD_DIR}/bin/packbeam ${REBAR_BUILD_DIR}/rel/atomvm_packbeam/bin/packbeam"}
]}.
