rebar.config.script 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. CUR_BRANCH = os:cmd("git branch | grep -e '^*' | cut -d' ' -f 2") -- "\n",
  18. BRANCH = case lists:member(CUR_BRANCH, ["master", "develop"]) of
  19. true -> CUR_BRANCH;
  20. false -> "develop"
  21. end,
  22. FindDeps = fun(DepsType, Config) ->
  23. case lists:keyfind(DepsType, 1, Config) of
  24. {_, RawDeps} -> RawDeps;
  25. _ -> []
  26. end
  27. end,
  28. Deps = FindDeps(deps, CONFIG1),
  29. LibDeps = FindDeps(github_emqx_libs, CONFIG1),
  30. ProjDeps = FindDeps(github_emqx_projects, CONFIG1),
  31. UrlPrefix = "https://github.com/emqx/",
  32. RealName = fun TransName([$_ | Tail], Result) ->
  33. TransName(Tail, [$- | Result]);
  34. TransName([Head | Tail], Result) ->
  35. TransName(Tail, [Head | Result]);
  36. TransName([], Result) ->
  37. lists:reverse(Result)
  38. end,
  39. NewLibDeps = [{LibName, {git, UrlPrefix ++ atom_to_list(LibName), {branch, Branch}}}
  40. || {LibName, Branch} <- LibDeps],
  41. NewProjDeps = [{Name, {git, UrlPrefix ++ RealName(atom_to_list(Name), []), {branch, BRANCH}}}
  42. || Name <- ProjDeps],
  43. NewDeps = Deps ++ NewLibDeps ++ NewProjDeps,
  44. CONFIG2 = lists:keystore(deps, 1, CONFIG1, {deps, NewDeps}),
  45. CONFIG2.