Skip to content

Commit

Permalink
Added.
Browse files Browse the repository at this point in the history
  • Loading branch information
Olivier-Boudeville committed Aug 11, 2020
1 parent ac74da6 commit 5a6757c
Showing 1 changed file with 137 additions and 0 deletions.
137 changes: 137 additions & 0 deletions rebar.config
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.

0 comments on commit 5a6757c

Please sign in to comment.