-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathrebar.config
More file actions
82 lines (70 loc) · 1.77 KB
/
rebar.config
File metadata and controls
82 lines (70 loc) · 1.77 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
75
76
77
78
79
80
81
82
%% Rebar3 configuration for elmdb-rs project
%% Erlang compiler options
{erl_opts, [debug_info]}.
%% Dependencies
{deps, []}.
%% Plugins
{plugins, [
{rebar3_cargo, "0.1.1"}
]}.
%% Build hooks
{provider_hooks, [
{pre, [
{compile, {cargo, build}}
]},
{post, [
{clean, {cargo, clean}}
]}
]}.
%% Cargo configuration
{cargo_opts, [
{src_dir, "native/elmdb_nif"},
{cargo_args, ["--release"]}
]}.
%% Pre/Post compile hooks
{pre_hooks, [
{compile, "mkdir -p priv/"}
]}.
{post_hooks, [
{"(linux|darwin|solaris|freebsd)", compile,
"sh -c 'find priv/crates -name \"libelmdb_nif.*\" -o -name \"elmdb_nif.*\" | head -1 | xargs -I {} cp {} priv/ && "
"cd priv && "
"for ext in so dylib; do "
" if [ -f libelmdb_nif.$ext ]; then "
" ln -sf libelmdb_nif.$ext elmdb_nif.so 2>/dev/null || true; "
" ln -sf libelmdb_nif.$ext libelmdb_nif.so 2>/dev/null || true; "
" fi; "
"done'"},
{"win32", compile,
"powershell -Command \"Copy-Item -Path 'native\\elmdb_nif\\target\\release\\elmdb_nif.dll' -Destination 'priv\\' -Force\""}
]}.
%% Test configuration
{eunit_opts, [
verbose,
{report, {eunit_surefire, [{dir, "_build/test/logs"}]}}
]}.
{eunit_compile_opts, [
{src_dirs, ["src", "test"]}
]}.
%% Shell configuration
{shell, [
{config, "config/sys.config"},
{apps, [elmdb]}
]}.
%% Coverage analysis
{cover_enabled, true}.
{cover_opts, [verbose]}.
%% Profiles for different build configurations
{profiles, [
{prod, [
{cargo_opts, [
{src_dir, "native/elmdb_nif"},
{cargo_args, ["--release", "--", "--emit=asm"]}
]},
{erl_opts, [no_debug_info]}
]},
{test, [
{deps, []},
{erl_opts, [debug_info, export_all]}
]}
]}.