WithRebar = fun(Conf) ->
   case erlang:function_exported(rebar3, main, 1) of
      true ->
         Conf;
      false ->
         {ok, Rebar2} = file:consult("rebar2.config"),
         Rebar2 ++ lists:keydelete(deps, 1, Conf)
   end
end,

WithTravis = fun(Conf) ->
   case os:getenv("TRAVIS") of
      "true" ->
         JobId   = os:getenv("TRAVIS_JOB_ID"),
         lists:keystore(coveralls_service_job_id, 1, Conf, {coveralls_service_job_id, JobId});
      _ ->
         Conf
   end
end,

WithTravis(WithRebar(CONFIG)).

