forked from kafka4beam/brod
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rebar.config.script
52 lines (52 loc) · 1.85 KB
/
rebar.config.script
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
IsRebar3 = erlang:function_exported(rebar3, main, 1),
DocoptUrl = "https://github.com/zmstone/docopt-erl.git",
DocOptTag = "0.1.3",
DocoptDep = {docopt, {git, DocoptUrl, {branch, DocOptTag}}},
Snabbkaffe = {snabbkaffe, {git, "https://github.com/klarna/snabbkaffe", {tag, "0.6.0"}}},
Profiles =
{profiles, [
{brod_cli, [
{deps, [jsone, DocoptDep]},
{erl_opts, [{d, build_brod_cli}]},
{escript_name, brod_cli},
{relx, [{release, {brod, "i"}, % release the interactive shell as brod-i
[brod, jsone, docopt]},
{include_erts, true},
{overlay, [{copy, "scripts/brod", "bin"},
{copy, "{{lib_dirs}}/crc32cer/priv/crc32cer*.so", "bin"},
{copy, "{{lib_dirs}}/snappyer/priv/snappyer.so", "bin"}
]}
]}]},
{test, [
{deps, [meck, proper, jsone, DocoptDep, Snabbkaffe]},
{erl_opts, [{d, build_brod_cli}]}
]}
]},
CONFIG1 = case IsRebar3 of
true ->
[Profiles | CONFIG];
false ->
URLs = [ {supervisor3, "https://github.com/klarna/supervisor3.git"}
, {kafka_protocol, "https://github.com/klarna/kafka_protocol.git"}
],
Rebar3Deps = proplists:get_value(deps, CONFIG),
Rebar2Deps =
lists:map(
fun({Name, URL}) ->
case proplists:get_value(Name, Rebar3Deps) of
{git, _, _} = Git -> {Name, ".*", Git};
Vsn -> {Name, ".*", {git, URL, {tag, Vsn}}}
end
end, URLs),
lists:keyreplace(deps, 1, CONFIG, {deps, Rebar2Deps})
end,
case os:getenv("TRAVIS") of
"true" ->
JobId = os:getenv("TRAVIS_JOB_ID"),
[{coveralls_service_job_id, JobId},
{plugins, [coveralls]},
{coveralls_coverdata, "_build/test/cover/*.coverdata"},
{coveralls_service_name , "travis-ci"} | CONFIG1];
_ ->
CONFIG1
end.