<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello Olav,<div><br></div><div>Well this is hard to find the solution that fits all possible work flows.</div><div>The one thing which is solvable in nice manner is the ability to maintain different set of dependencies for different environments.</div><div><br></div><div>I do have a dedicated file to maintain environment specific dependencies (e.g. dev.config, prod.config, etc). The file contains deps declaration same as "deps" section from rebar.config. The I am using rebar.config.script to inject those dependencies depends on env variable. The file is simple see below. The same techniques can be used to swap branches, tags etc. </div><div><br></div><div>-- CLIP --</div><div><div>DEPS = fun(File, Config) -></div><div>   case file:consult(File) of</div><div>      {ok, DEPS} -></div><div>         {deps, List} = lists:keyfind(deps, 1, Config),</div><div>         lists:keystore(deps, 1, Config, {deps, List ++ DEPS});</div><div>      _ -></div><div>         Config</div><div>   end</div><div>end,</div><div>Fdeps = fun(Config) -> DEPS("deps.config", Config) end,</div><div><br></div><div>lists:foldl(</div><div>   fun(X, Acc) -> X(Acc) end,</div><div>   CONFIG,</div><div>   [Fdeps]</div><div>).</div></div><div>-- CLIP --</div><div><br></div><div>- Dmitry</div><div><br><div><div>On May 29, 2013, at 1:45 PM, Olav Frengstad <<a href="mailto:olav@fwt.no">olav@fwt.no</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">@Andre: Didn't find that when searching, a rename is required from my part<div><br>@Dmitry:<div>I would call that the beauty of git, having a ./deps.sh doing the same thing would be same amount of lines.</div>
<div><br></div><div><div style="">My issues with Rebar are minor things related to git, but this forces me every now and then to do manual work which interrupts my workflow.</div><div style=""><br></div><div style="">1) updating git remotes does not work</div>
<div style="">2) tags that has been forcefully updated does not work</div><div style="">3) If Rebar was interrupted while fetching deps it will refuse restart the fetch because of a missing .app file</div><div style="">4) the little trick of calling get-deps before update-deps</div>
</div></div><div style=""><br></div><div style="">Ideally I want a build env where i can pick different refs for a dependency based on the environment, i.e. dev can use a different branch than  dev/stage/prod/test. Rebar does not give me an easy way of doing this.</div>
<div style=""><br class="">All of the problems above could off course all be scripted around, but I found using other tools removed the complexity of my previous development cycle (at the cost of a Makefile and epm + relx)<br>
</div><div style=""><br></div><div style="">All in all I think Rebar is a good tool for simplifying the Erlang development cycle, but I have found it difficult to find good workflow.</div><div style=""><br></div><div style="">Olav</div>
<div style=""><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/5/29 André Graf <span dir="ltr"><<a href="mailto:andre.graf@erl.io" target="_blank">andre.graf@erl.io</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Hello Olav<br>
<br>
I am confused now, are you talking of 'epm' by Jacob Vorreuter<br>
(<a href="https://github.com/JacobVorreuter/epm" target="_blank">https://github.com/JacobVorreuter/epm</a>) or is your 'EPM' something<br>
different?<br>
<br>
Cheers,<br>
Andre<br>
<div class=""><div class="h5"><br>
On 29 May 2013 11:11, Olav Frengstad <<a href="mailto:olav@fwt.no">olav@fwt.no</a>> wrote:<br>
> I'v previously been using Rebar to handle source dependencies, but recently<br>
> started working on an alternative solution called EPM [1] which fixes some<br>
> of the issues I had with Rebar's dependency management.<br>
><br>
> [1] <a href="https://github.com/lafka/epm" target="_blank">https://github.com/lafka/epm</a><br>
><br>
><br>
> 2013/5/29 Dominic Williams <<a href="mailto:mail@dominicwilliams.net">mail@dominicwilliams.net</a>><br>
>><br>
>> Le 28 mai 2013 à 23:42, Michael Truog a écrit :<br>
>><br>
>> > QuickCheck is commercial, so you won't find a package for free, unless<br>
>> > you try to get the Haskell version (Haskell is the free version, but Erlang<br>
>> > is the commercial version).<br>
>><br>
>> QuickCheck mini, which contains all the basic features, is free and can be<br>
>> downloaded from QuviQ's web site.<br>
>><br>
>> Regards,<br>
>> Dominic Williams<br>
>> <a href="http://dominicwilliams.net/" target="_blank">http://dominicwilliams.net</a><br>
>><br>
>> _______________________________________________<br>
>> erlang-questions mailing list<br>
>> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
><br>
><br>
><br>
><br>
> --<br>
> Med Vennlig Hilsen<br>
> Olav Frengstad<br>
><br>
> Systemutvikler // FWT<br>
> <a href="tel:%2B47%20920%2042%20090" value="+4792042090">+47 920 42 090</a><br>
><br>
> _______________________________________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Med Vennlig Hilsen<div>Olav Frengstad</div><div><br></div><div>Systemutvikler // FWT</div><div>+47 920 42 090</div>
</div></div>
_______________________________________________<br>erlang-questions mailing list<br><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>http://erlang.org/mailman/listinfo/erlang-questions<br></blockquote></div><br></div></body></html>