-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrebar.config.template
More file actions
133 lines (89 loc) · 4.34 KB
/
rebar.config.template
File metadata and controls
133 lines (89 loc) · 4.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
% This is a configuration file of rebar3, so that Ceylan-Traces 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 traces', as Traces 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 and Ceylan-WOOPER OTP library applications
% (Erlang implied):
% As GIT-based dependencies:
{deps, [ {myriad, {git, "https://github.com/Olivier-Boudeville/Ceylan-Myriad.git",
{branch, "master"}}},
{wooper, {git, "https://github.com/Olivier-Boudeville/Ceylan-WOOPER.git",
{branch, "master"}}} ] }.
% As an hex-package dependency:
%{deps, [ {wooper, "WOOPER_VERSION_FOR_OTP"} ] }.
% Include directories found in INC:
{erl_opts, [ {traces_version,"VERSION_FOR_OTP"}, {d,myriad_debug_mode}, {d,wooper_debug_mode}, {d,traces_debug_mode}, {d,tracing_activated}, 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 ]}.
% (hooks needed, for example to create the include symlinks and for the build
% itself)
%
% Previously 'MYRIAD_REBAR_PROFILE=${REBAR_PROFILE}' was added, yet
% REBAR_PROFILE is actually not set, so we rely on our default value instead.
%
% Hooks had to be even strengthened, otherwise spurious, ill-configured
% compilations will be wrongly attempted by rebar3, when used as a dependency:
%
%{pre_hooks, [ {compile, "make -s rebar3-compile-pre-hook"} ]}.
%{post_hooks, [ {compile, "make -s rebar3-compile-post-hook"} ]}.
%{pre_hooks, [ {compile, "make -s rebar3-bulletproof-compile-pre-hook REBAR_HOOK_EXTRA_OPTS='--hiding-for-rebar --verbose'"} ]}.
% Verbosity disabled:
{pre_hooks, [ {compile, "make -s rebar3-bulletproof-compile-pre-hook REBAR_HOOK_EXTRA_OPTS='--hiding-for-rebar'"} ]}.
%{post_hooks, [ {compile, "make -s rebar3-bulletproof-compile-post-hook REBAR_HOOK_EXTRA_OPTS='--hiding-for-rebar --verbose'"} ]}.
% Verbosity disabled:
{post_hooks, [ {compile, "make -s rebar3-bulletproof-compile-post-hook REBAR_HOOK_EXTRA_OPTS='--hiding-for-rebar'"} ]}.
% 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, {traces_release, "VERSION_FOR_OTP"},
% myriad and wooper thus implied:
[sasl, traces]},
{sys_config, "./conf/sys.config"},
%{vm_args, "./conf/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},
% {d,wooper_debug_mode}, {d,traces_debug_mode} and {d,tracing_activated},
% and added {d,exec_target_is_production}:
%
{erl_opts, [ {traces_version,"VERSION_FOR_OTP"}, {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]}.