summaryrefslogtreecommitdiff
path: root/rebar.config
blob: e76f04e3fa0418fc5d6ecd9af1aa7b333bbf8689 (plain)
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
%% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*-
%% ex: ts=4 sw=4 ft=erlang et

{deps, [{erlware_commons,     "1.0.0"},
        {ssl_verify_fun,      "1.1.1"},
        {certifi,             "0.4.0"},
        {providers,           "1.6.0"},
        {getopt,              "0.8.2"},
        {bbmustache,          "1.3.0"},
        {relx,                "3.22.2"},
        {cf,                  "0.2.2"},
        {cth_readable,        "1.2.3"},
        {eunit_formatters,    "0.3.1"}]}.

{post_hooks, [{"(linux|darwin|solaris|freebsd|netbsd|openbsd)",
               escriptize,
               "cp $REBAR_BUILD_DIR/bin/rebar3 ./rebar3"},
              {"win32",
               "robocopy $REBAR_BUILD_DIR/bin/ ./ rebar3*"}
             ]}.

{escript_name, rebar3}.
{escript_emu_args, "%%! +sbtu +A0\n"}.
%% escript_incl_extra is for internal rebar-private use only.
%% Do not use outside rebar. Config interface is not stable.
{escript_incl_extra, [{"relx/priv/templates/*", "_build/default/lib/"},
                      {"rebar/priv/templates/*", "_build/default/lib/"}]}.

{erl_opts, [{platform_define, "^[0-9]+", namespaced_types},
            {platform_define, "^(19|2)", rand_only},
            no_debug_info,
            warnings_as_errors]}.

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

%% Profiles
{profiles, [{test, [
                   {deps, [{meck, "0.8.2"}]},
                   {erl_opts, [debug_info]}
                   ]
            },

            {bootstrap, []},

            {dialyze, [{overrides, [{add, erlware_commons, [{erl_opts, [debug_info]}]},
                                    {add, ssl_verify_fun, [{erl_opts, [debug_info]}]},
                                    {add, certifi, [{erl_opts, [debug_info]}]},
                                    {add, providers, [{erl_opts, [debug_info]}]},
                                    {add, getopt, [{erl_opts, [debug_info]}]},
                                    {add, bbmustache, [{erl_opts, [debug_info]}]},
                                    {add, relx, [{erl_opts, [debug_info]}]},
                                    {add, cf, [{erl_opts, [debug_info]}]},
                                    {add, cth_readable, [{erl_opts, [debug_info]}]},
                                    {add, eunit_formatters, [{erl_opts, [debug_info]}]}]},
                       {erl_opts, [debug_info]}]}
           ]}.

%% Overrides
{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},
                                                      no_debug_info,
                                                      warnings_as_errors]},
                                          {deps, []}, {plugins, []}]},
             {add, ssl_verify_hostname, [{erl_opts, [no_debug_info]}]},
             {add, certifi, [{erl_opts, [no_debug_info]}]},
             {add, cf, [{erl_opts, [no_debug_info]}]},
             {add, cth_readable, [{erl_opts, [no_debug_info]}]},
             {add, eunit_formatters, [{erl_opts, [no_debug_info]}]},
             {override, bbmustache, [{erl_opts, [no_debug_info,
                                                 {platform_define, "^[0-9]+", namespaced_types}]},
                                     {deps, []}, {plugins, []}]},
             {add, getopt, [{erl_opts, [no_debug_info]}]},
             {add, providers, [{erl_opts, [no_debug_info]}]},
             {add, relx, [{erl_opts, [no_debug_info]}]}]}.