Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
114 lines (76 sloc) 3.37 KB
% This is a configuration file of rebar3, so that Ceylan-WOOPER can better
% integrate in the current OTP ecosystem, despite its (more complex, probably
% more flexible) native build based on GNU make.
%
% If the name of this file is 'rebar.config', then it is a generated file,
% otherwise it is a template (located in conf/rebar.config.template), meant to
% be filled by information determined at build time or coming from
% GNUmakevars.inc.
%
% See the Myriad counterpart file (same name) for more explanations.
% Base layout was obtained thanks to: 'rebar3 new app wooper', as WOOPER is an
% active OTP application (not a mere library).
% To be taken into account, from the library root, through 'make
% rebar3-application' or 'make rebar3-release'.
% Settings for the 'default' profile follow.
% Depends on the Ceylan-Myriad OTP library application (Erlang implied):
% As a GIT-based dependency:
{deps, [ {myriad, {git, "git://github.com/Olivier-Boudeville/Ceylan-Myriad",
{branch, "master"}}} ] }.
% As an hex-package dependency:
%
% (works if the package uses a specific hook script, see
% hex-compile-hook-script.sh, to compensate for the GNUmake* root files that the
% package archive will not include at their location)
%
%{deps, [ {myriad, "MYRIAD_VERSION_FOR_REBAR"} ] }.
% Include directories found in INC:
{erl_opts, [ {d,myriad_debug_mode}, {d,wooper_debug_mode}, debug_info, {debug_info_key,"DEBUG_KEY_FOR_REBAR"}, report_warnings, warn_export_all, warn_export_vars, warn_shadow_vars, warn_obsolete_guards, warn_unused_import, warnings_as_errors, {parse_transform,wooper_parse_transform}, INCS_FOR_REBAR ]}.
% Bootstrapped modules (from BOOTSTRAP_MODULES):
{erl_first_files, [ FIRST_FILES_FOR_REBAR ]}.
% Could not set REBAR_PROFILE=$(REBAR_PROFILE):
{pre_hooks, [ {compile, "make -s rebar3-compile-pre-hook"} ]}.
{post_hooks, [ {compile, "make -s rebar3-compile-post-hook"} ]}.
% For release generation:
%
% (defaults are for the development mode)
%
% With relx, only direct dependencies need to be listed, and version constraints
% can be used, instead of exact, specific versions.
%
{relx, [
{release, {wooper_release, "VERSION_FOR_REBAR3"},
% myriad thus implied:
[sasl, wooper]},
%{sys_config, "./config/sys.config"},
%{vm_args, "./config/vm.args"},
% Base, development version:
{dev_mode, true},
{include_erts, false},
{extended_start_script, true},
{include_src, false}
]}.
{profiles, [
% Production mode (the default one when used as a dependency):
{prod, [
% Like for the default profile, except for removed {d,myriad_debug_mode} and
% {d,wooper_debug_mode}, and added {d,exec_target_is_production}:
%
{erl_opts, [ {d,exec_target_is_production}, debug_info, {debug_info_key,"DEBUG_KEY_FOR_REBAR"}, report_warnings, warn_export_all, warn_export_vars, warn_shadow_vars, warn_obsolete_guards, warn_unused_import, warnings_as_errors, {parse_transform,wooper_parse_transform}, INCS_FOR_REBAR ]},
% For the build makefiles:
{env, [ { 'REBAR_PROFILE', "prod" } ] },
{relx, [
% Not wanting the release to contain symlinks to applications:
{dev_mode, false},
% Creating a full target system:
{include_erts, true},
{extended_start_script, true},
{include_src, false}
]} ] }
% No test profile currently needed.
]}.
% For Hex packages (see https://hex.pm/):
%
% (use 'rebar3 update' to enable the hex plugin)
%
{plugins, [rebar3_hex]}.
You can’t perform that action at this time.