-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathrebar.config
More file actions
74 lines (63 loc) · 2.23 KB
/
Copy pathrebar.config
File metadata and controls
74 lines (63 loc) · 2.23 KB
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
%% % @format
{project_plugin_dirs, ["rebar3_plugins/*"]}.
{erl_opts, [
warnings_as_errors,
warn_unused_import,
warn_missing_spec_all
]}.
{minimum_otp_vsn, "27"}.
{erlfmt, [
write,
{files, [
"apps/*/{src,include,test}/*.{hrl,erl,app.src}",
"apps/*/rebar.config",
"rebar.config"
]},
{exclude_files, []},
{print_width, 120}
]}.
{project_plugins, [
erlfmt,
prepare_edb_tests
]}.
{profiles, [
{test, [
{erl_opts, [
nowarn_export_all,
nowarn_missing_spec_all
]},
{deps, [assert]}
]}
]}.
{dialyzer, [
{warnings, [unknown]},
{plt_apps, all_deps},
{plt_extra_apps, []}
]}.
{xref_checks, [
undefined_function_calls,
undefined_functions,
locals_not_used,
deprecated_function_calls,
deprecated_functions
]}.
{escript_name, edb}.
{escript_main_app, edb}.
% +sbwt* none - By default the Erlang VM is optimised for latency, with schedulers spinning in busy loops fairly frequently
% to avoid cost of OS sleep + wake cycle.
% This is not necessary for us. The escript exists alongside other programs on the machine, so
% we should give all the flexibility to the OS to schedule resources as necessary.
% +A0 - Async threads are used only for old-style async port drivers. We don't use them, so save a thread
% -noinput - Do not try to read any input. Required to be able to access stdin/out via a port
% -kernel connect_all false - Do not actively connect to all nodes that you become aware of
% -escript main edb_main - Specify the entry point for the Escript
{escript_emu_args,
"%%! +sbwt none +sbwtdcpu none +sbwtdio none +A0 -noinput -kernel connect_all false -escript main edb_main\n"}.
% We select `ex_doc` as the documentation provider. This renders documentation in Elixir style, as opposed to the old Erlang EDoc style.
{hex, [{doc, ex_doc}]}.
% Customize how pages are rendered, adding the main entry point and eventual extra pages
{ex_doc, [
{source_url, ~"https://github.com/WhatsApp/edb"},
{extras, [~"README.md", ~"LICENSE.md", ~"docs/DAP.md"]},
{main, ~"README.md"}
]}.