aboutsummaryrefslogtreecommitdiffstats
path: root/rebar.config
blob: 285b1ce3bdbeb5f875c5669d13503a9a80c04b4a (plain) (blame)
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
%% -*- mode: Erlang; fill-column: 80; comment-column: 75; -*-
%% Dependencies ================================================================
{deps, [{erlware_commons, "~>1.2"},
        {providers, "~>1.7"},
        {getopt, "~>1.0"},
        {cf, "~>0.3"},
        {bbmustache, "~>1.5"}
       ]}.

{escript_incl_extra, [{"priv/templates/*", "."}]}.
{escript_emu_args, "%%! +sbtu +A0 -noinput\n"}.
{escript_incl_apps,
 [getopt, erlware_commons, cf, bbmustache, providers]}.

%% Compiler Options ============================================================
{erl_opts,
    [{platform_define, "^[0-9]+", namespaced_types},
     {platform_define, "^1[8|9]", rand_module},
     {platform_define, "^2", rand_module},
     {platform_define, "^2", unicode_str},
     warnings_as_errors,
     inline]}.

%% Use OTP 18+ when dialyzing relx
{dialyzer, [{warnings, [unknown]}]}.

%% EUnit =======================================================================
{eunit_opts,
 [{report, {eunit_surefire, [{dir, "."}]}}]}.

%% Profiles ====================================================================

{profiles, [{dev, [{plugins, [rebar3_neotoma_plugin]}]},

            {test, [{erl_opts, [nowarn_export_all, debug_info]}]},

            {dialyze, [{overrides, [{add, erlware_commons, [{erl_opts, [debug_info]}]},
                                    {add, providers, [{erl_opts, [debug_info]}]},
                                    {add, getopt, [{erl_opts, [debug_info]}]},
                                    {add, bbmustache, [{erl_opts, [debug_info]}]},
                                    {add, cf, [{erl_opts, [debug_info]}]}]},
                       {erl_opts, [debug_info]}]},
            {escript, [
                {overrides, [{add, erlware_commons, [{erl_opts, [no_debug_info]}]},
                             {add, providers, [{erl_opts, [no_debug_info]}]},
                             {add, getopt, [{erl_opts, [no_debug_info]}]},
                             {add, bbmustache, [{erl_opts, [no_debug_info]}]},
                             {add, cf, [{erl_opts, [no_debug_info]}]}]},
                {erl_opts, [no_debug_info]}
            ]}
           ]}.

{overrides, [{override, erlware_commons, [
                                         {erl_opts, [{platform_define, "^[0-9]+", namespaced_types},
                                                     {platform_define, "^R1[4|5]", deprecated_crypto},
                                                     {platform_define, "^((1[8|9])|2)", rand_module},
                                                     {platform_define, "^2", unicode_str},
                                                     {platform_define, "^(R|1|20)", fun_stacktrace},
                                                     no_debug_info,
                                                     warnings_as_errors
                                                    ]},
                                         {deps, []}, {plugins, []}
                                         ]},
            {override, bbmustache, [
                                   {erl_opts, [no_debug_info]},
                                   {deps, []}, {plugins, []}]},
            {override, getopt, [{erl_opts, [no_debug_info,
                                            {platform_define, "^2", unicode_str}]}]},
            {override, providers, [{erl_opts, [no_debug_info]}]}
            ]}.

{ct_opts, [{cover_spec, "cover.spec"},
           {ct_hooks, [cth_surefire]}]}.

{cover_enabled, true}.
{cover_print_enabled, true}.
{cover_excl_mods, [bin_dtl, erl_script_dtl, extended_bin_dtl,
                   extended_bin_windows_dtl, erl_ini_dtl,
                   bin_windows_dtl, nodetool_dtl,
                   install_upgrade_escript_dtl, nodetool_dtl,
                   sys_config_dtl, vm_args_dtl, relx, rlx_topo]}.