aboutsummaryrefslogtreecommitdiffstats
path: root/rebar.config
blob: b419da12075411f8953fd53cfd0fabac81f61ab6 (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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
%% == Compiler Options ==
{erl_opts, [
    debug_info,
    report,
    verbose,
    warn_unused_import,
    warn_export_vars
]}.

%% == Dependencies and Plugins ==
{deps, [
    {merklet, "2.0.0"},
    {uuid_erl, "2.0.7"}
]}.

{plugins, [
    {covertool, "2.0.7"},
    {rebar3_nix, ".*", {git, "https://github.com/erlang-nix/rebar3_nix.git", {tag, "v0.1.1"}}}
]}.

%% == Common Test Options ==
{ct_opts, []}.

%% == Releases ==
{relx, [
    {release, {domino, "0.1.0"}, [
        merklet,
        uuid_erl
    ]},

    {mode, dev},
    {extended_start_script, true},

    %% automatically picked up if the files
    %% exist but can be set manually, which
    %% is required if the names aren't exactly
    %% sys.config and vm.args
    {sys_config, "./config/sys.config"},
    {vm_args, "./config/vm.args"},

    {overlay, [
        {mkdir, "log/sasl"},
        {mkdir, "log/errors"}
    ]}
]}.

%% == Profiles ==
{profiles, [
    %% prod is the default mode when prod
    %% profile is used, so does not have
    %% to be explicitly included like this
    {prod, [
        {relx, [
            {include_erts, true},
            {sys_config, "./config/sys.config"},
            %% https://rebar3.org/docs/deployment/releases/#modes
            {mode, prod}
        ]}
    ]},

    {test, [
        {deps, [
            meck, 
            proper
        ]}
    ]}
]}.

%% == Shell ==
%% apps to auto-boot with `rebar3 shell'; defaults to apps
%% specified in a `relx' tuple, if any.
{shell, [
    %% We have a special config just to run the app inside
    %% a shell, helps with debugging and local testing.
    {config, "config/shell.config"},
    {apps, [main]}

    %% If you need any environment variables to be set inside
    %% the debug shell as well.
    %%{env_file, "deployment/default.env"}]
]}.

%% == Dialyzer Settings ==
{dialyzer, [
    {plt_extra_apps, [merklet, uuid_erl, quickrand]},
    {warnings, [unknown]},
    {exclude_mods, [
        
    ]}
]}.

%% == EDOC Settings ==
{edoc_opts, [
    {doclet, edoc_doclet},
    {source_path, ["src"]},
    {app_default, "https://www.erlang.org/doc/man"},
    {preprocess, true},
    {includes, ["include"]},
    {dir, "doc"},
    {overview, "doc/overview.edoc"},
    {title, "Domino - Extended Relational Database Engine"},
    {pretty_printer, erl_pp}
]}.