-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ac74da6
commit 5a6757c
Showing
1 changed file
with
137 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
% This is a configuration file of rebar3, so that the us_web application 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. | ||
|
||
|
||
% Settings for the 'default' profile follow. | ||
|
||
|
||
% Depends on the following applications (Erlang implied): | ||
% | ||
% (note: if changing any information there, run from the root the 'real-clean' | ||
% make target, at least to force an update of rebar.lock) | ||
% | ||
{deps, [ | ||
|
||
{cowboy, {git, "git://github.com/ninenines/cowboy", | ||
{tag, "2.8.0"}}}, | ||
|
||
{letsencrypt, {git, "git://github.com/Olivier-Boudeville/letsencrypt-erlang", | ||
{branch, "master"}}}, | ||
%{letsencrypt, {git, "git://github.com/gbour/letsencrypt-erlang.git", | ||
% {branch, "master"}}}, | ||
|
||
%{simple_bridge, {git, "git://github.com/nitrogen/simple_bridge", | ||
% {branch, "master"}}}, | ||
%{qdate, {git, "git://github.com/choptastic/qdate", | ||
% {branch, "master"}}}, | ||
%{nprocreg, {git, "git://github.com/nitrogen/nprocreg", | ||
% {branch, "master"}}}, | ||
%{nitrogen_core, {git, "git://github.com/nitrogen/nitrogen_core", | ||
% {branch, "master"}}}, | ||
%{sync, {git, "git://github.com/rustyio/sync", | ||
% {branch, "master"}}}, | ||
%{simple_cache, {git, "git://github.com/nitrogen/simple_cache", | ||
% {branch, "master"}}}, | ||
|
||
{myriad, {git, "git://github.com/Olivier-Boudeville/Ceylan-Myriad", | ||
{branch, "master"}}}, | ||
{wooper, {git, "git://github.com/Olivier-Boudeville/Ceylan-WOOPER", | ||
{branch, "master"}}}, | ||
{traces, {git, "git://github.com/Olivier-Boudeville/Ceylan-Traces", | ||
{branch, "master"}}}, | ||
{us_common, {git, "git://github.com/Olivier-Boudeville/us-common", | ||
{branch, "master"}}} | ||
]}. | ||
|
||
|
||
|
||
% Include directories found in INC: | ||
{erl_opts, [ {d,myriad_debug_mode}, {d,wooper_debug_mode}, {d,traces_debug_mode}, {d,us_common_debug_mode}, {d,us_web_debug_mode}, {d,tracing_activated}, debug_info, {debug_info_key,"Ceylan-Myriad"}, 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}, {i,"../us_common/../traces/../wooper/include/"}, {i,"../us_common/../traces/../wooper/../myriad/include/"}, {i,"include"}, {i,"../us_common/include"}, {i,"../us_common/../traces/include"}, {i,"../us_common/../traces/../wooper/include"}, {i,"../us_common/../traces/../wooper/../myriad/include/apps/generate-password"}, {i,"../us_common/../traces/../wooper/../myriad/include/apps/merge-tool"}, {i,"../us_common/../traces/../wooper/../myriad/include/data-management"}, {i,"../us_common/../traces/../wooper/../myriad/include/maths"}, {i,"../us_common/../traces/../wooper/../myriad/include/meta"}, {i,"../us_common/../traces/../wooper/../myriad/include/scripts"}, {i,"../us_common/../traces/../wooper/../myriad/include/user-interface/src/graphical"}, {i,"../us_common/../traces/../wooper/../myriad/include/user-interface/src/textual"}, {i,"../us_common/../traces/../wooper/../myriad/include/user-interface/src"}, {i,"../us_common/../traces/../wooper/../myriad/include/utils"}, {i,"../us_common/../traces/../wooper/../myriad/.."} ]}. | ||
|
||
|
||
|
||
% 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, [ | ||
|
||
% Not 'us_web_release', otherwise plenty of paths will be cluttered: | ||
{release, {us_web, "0.0.9"}, | ||
|
||
% Listing an application here seems necessary (otherwise its .app file will | ||
% not be found), however it will also result in its automatic starting with | ||
% no specified arguments, whereas at least for some (ex: simple_bridge) we | ||
% need to specify them (ex: which backend to be used). | ||
% | ||
% Listing 'us_common' here implies its prerequisites (namely Myriad, WOOPER | ||
% and Traces) and is needed, otherwise their respective modules will not be | ||
% in the code path: | ||
% | ||
%[ crypto, ranch, simple_cache, qdate, nitrogen_core, cowboy, us_web ] }, | ||
%[ crypto, ranch, cowboy, letsencrypt, us_common, us_web ] }, | ||
[ crypto, ranch, cowboy, us_common, us_web ] }, | ||
|
||
{sys_config, "conf/sys.config"}, | ||
|
||
% We need specified VM arguments (notably: long node names wanted): | ||
{vm_args, "conf/vm.args"}, | ||
|
||
{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}, {d,us_common_debug_mode}, | ||
% {d,us_web_debug_mode} and {d,tracing_activated}, and added | ||
% {d,exec_target_is_production}: | ||
% | ||
{erl_opts, [ {d,exec_target_is_production}, debug_info, {debug_info_key,"Ceylan-Myriad"}, 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}, {i,"../us_common/../traces/../wooper/include/"}, {i,"../us_common/../traces/../wooper/../myriad/include/"}, {i,"include"}, {i,"../us_common/include"}, {i,"../us_common/../traces/include"}, {i,"../us_common/../traces/../wooper/include"}, {i,"../us_common/../traces/../wooper/../myriad/include/apps/generate-password"}, {i,"../us_common/../traces/../wooper/../myriad/include/apps/merge-tool"}, {i,"../us_common/../traces/../wooper/../myriad/include/data-management"}, {i,"../us_common/../traces/../wooper/../myriad/include/maths"}, {i,"../us_common/../traces/../wooper/../myriad/include/meta"}, {i,"../us_common/../traces/../wooper/../myriad/include/scripts"}, {i,"../us_common/../traces/../wooper/../myriad/include/user-interface/src/graphical"}, {i,"../us_common/../traces/../wooper/../myriad/include/user-interface/src/textual"}, {i,"../us_common/../traces/../wooper/../myriad/include/user-interface/src"}, {i,"../us_common/../traces/../wooper/../myriad/include/utils"}, {i,"../us_common/../traces/../wooper/../myriad/.."} ]}, | ||
|
||
% 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}, | ||
|
||
% Or sharing a local Erlang environment (then the OTP versions must | ||
% precisely match): | ||
% | ||
{include_erts, false}, | ||
|
||
{extended_start_script, true}, | ||
{include_src, false} | ||
|
||
]} ] } | ||
|
||
% No test profile currently needed. | ||
|
||
]}. | ||
|
||
% No Hex package wanted with this version. |