rebar.config.script 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. CONFIG0 = case os:getenv("REBAR_GIT_CLONE_OPTIONS") of
  2. "--depth 1" ->
  3. CONFIG;
  4. _ ->
  5. os:putenv("REBAR_GIT_CLONE_OPTIONS", "--depth 1"),
  6. CONFIG
  7. end,
  8. CONFIG1 = case os:getenv("TRAVIS") of
  9. "true" ->
  10. JobId = os:getenv("TRAVIS_JOB_ID"),
  11. [{coveralls_service_job_id, JobId},
  12. {coveralls_coverdata, "_build/test/cover/*.coverdata"},
  13. {coveralls_service_name , "travis-ci"} | CONFIG];
  14. _ ->
  15. CONFIG
  16. end,
  17. FindDeps = fun(DepsType, Config) ->
  18. case lists:keyfind(DepsType, 1, Config) of
  19. {_, RawDeps} -> RawDeps;
  20. _ -> []
  21. end
  22. end,
  23. Deps = FindDeps(deps, CONFIG1),
  24. LibDeps = FindDeps(github_emqx_libs, CONFIG1),
  25. ProjDeps = FindDeps(github_emqx_projects, CONFIG1),
  26. UrlPrefix = "https://github.com/emqx/",
  27. RealName = fun TransName([$_ | Tail], Result) ->
  28. TransName(Tail, [$- | Result]);
  29. TransName([Head | Tail], Result) ->
  30. TransName(Tail, [Head | Result]);
  31. TransName([], Result) ->
  32. lists:reverse(Result)
  33. end,
  34. NewLibDeps = [{LibName, {git, UrlPrefix ++ atom_to_list(LibName), {branch, Branch}}}
  35. || {LibName, Branch} <- LibDeps],
  36. NewProjDeps = [{ProjName, {git, UrlPrefix ++ RealName(atom_to_list(ProjName), []), {branch, Branch}}} || {ProjName, Branch} <- ProjDeps],
  37. NewDeps = Deps ++ NewLibDeps ++ NewProjDeps,
  38. CONFIG2 = lists:keystore(deps, 1, CONFIG1, {deps, NewDeps}),
  39. CONFIG2.