forked from kafka4beam/brod
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrebar.config.script
61 lines (60 loc) · 2.31 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
53
54
55
56
57
58
59
60
61
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("GITHUB_ACTIONS"), os:getenv("GITHUB_TOKEN")} of
{"true", Token} when is_list(Token) ->
CONFIG2 = [{coveralls_repo_token, Token},
{coveralls_coverdata, "_build/test/cover/*.coverdata"},
{coveralls_service_job_id, os:getenv("GITHUB_RUN_ID")},
{coveralls_commit_sha, os:getenv("GITHUB_SHA")},
{coveralls_service_name, "github"},
{coveralls_service_number, os:getenv("GITHUB_RUN_NUMBER")} | CONFIG1],
case os:getenv("GITHUB_EVENT_NAME") =:= "pull_request"
andalso string:tokens(os:getenv("GITHUB_REF"), "/") of
[_, "pull", PRNO, _] ->
[{coveralls_service_pull_request, PRNO} | CONFIG2];
_ ->
CONFIG2
end;
_ ->
CONFIG1
end.