<div dir="ltr">You may also want to look at: <a href="https://github.com/id3as/erl-mk">https://github.com/id3as/erl-mk</a> which we use, it is inspired from different solutions currently around and does support apps structure straight from the get go, it is also very much inline with how make works.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Apr 10, 2014 at 11:38 AM, Michael Truog <span dir="ltr"><<a href="mailto:mjtruog@gmail.com" target="_blank">mjtruog@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><div class="">
<div>On 04/10/2014 02:17 AM, Benoit Chesneau
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Thu, Apr 10, 2014 at 11:05 AM,
Michael Truog <span dir="ltr"><<a href="mailto:mjtruog@gmail.com" target="_blank">mjtruog@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote">
<div>
<div>If you need "rebar generate" behavior in a way that
doesn't have extra checks blocking its success and is
able to report errors (problems rebar has had in the
past), without the logic for windows support, there is
a script here:<br>
<a href="https://github.com/okeuday/reltool_util/blob/master/release" target="_blank">https://github.com/okeuday/reltool_util/blob/master/release</a><br>
<br>
However, relx should be a better way to go, if you can
part with your reltool file. I haven't found all the
reltool options to be supported by relx, so I don't
believe it is a fit for all situations.
<div>
<div><br>
</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>But how do you manage the dependencies?</div>
<div><br>
</div>
<div>In a rebar world you're doing:</div>
<div><br>
</div>
<div>
1. rebar get-deps</div>
<div>2. rebar compile which build deps and what you have in
subdirs</div>
<div>3. rebar generate which reuses what you fetched in deps
etc.</div>
<div><br>
</div>
<div>Using <a href="http://erlang.mk" target="_blank">erlang.mk</a>:</div>
<div><br>
</div>
<div>1. fetch the dependeinces using curl and some links you
have in a file or such thing</div>
<div>2. compile, but not sure if every apps in apps/* are
compiled</div>
<div>3. use relx or anything else to buld the relese</div>
<div><br>
</div>
<div>You can also have 1 make file per app etc.</div>
<div><br>
</div>
<div>I am curious how people manage to get the dependencies
without rebar or <a href="http://erlang.mk" target="_blank">erlang.mk</a>, build them and
then tell to reltools or relx where to find to include
them in the release.</div>
<div><br>
</div>
<div>IN cloudi it seems for examle that you're using rebar
for that. but I can see some projects around publishing
their app without any support for rebar. How is it handled
behind?</div>
</div>
</div>
</div>
</blockquote></div>
In CloudI (in the main repository) the dependencies are stored
locally, and they are modified so that all modules and applications
have a 'cloudi_x_' prefix, so that they don't conflict with the same
applications running in the same Erlang VM, possibly at a different
version. However, the cloudi_core repository uses rebar to do
get-deps without any modification of the modules/application names
while limiting it to internal service support. Both repositories
use the rebar compile for building. I am not trying to say rebar
should be used. I just ended up using rebar due to a lack of better
options.<br>
<br>
I know <a href="http://erlang.mk" target="_blank">erlang.mk</a> exists now, but I also have autoconf/automake which
has its own support for Erlang. Then there is also emake. I was
attempting to use something more automatic and simpler than a
makefile, though I know <a href="http://erlang.mk" target="_blank">erlang.mk</a> should be simple to use.<br>
<br>
Best Regards,<br>
Michael<div class=""><br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>- benoit</div>
<div><br>
</div>
<div> <br>
</div>
<blockquote class="gmail_quote">
<div>
<div>
<div>
<div> <br>
On 04/10/2014 12:18 AM, Benoit Chesneau wrote:<br>
</div>
</div>
</div>
<blockquote type="cite">
<div>
<div>
<div dir="ltr">Hi all,
<div><br>
</div>
<div>I would like to rework the way I am
building releases and find a good way to
handle the inclusion of dependencies in them.
I am generally using the easy path for now by
mostly using rebar to get the dependencies but
I wonder what others are doing.</div>
<div><br>
</div>
<div>How do you get the dependencies, build them
and adding them to the release? Are you using
your own scripts? Using a makefile like some?
In that case how do you maintain the
dependencies list and their upgrades?</div>
<div><br>
</div>
<div>Any feedback is appreciated :)</div>
<div><br>
</div>
<div>- benoit</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<div>
<pre>_______________________________________________
erlang-questions mailing list
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a>
</pre>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<br>
</div></div>
<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></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Mark Nijhof<br><div><div>t: <a href="https://twitter.com/MarkNijhof" target="_blank">@MarkNijhof</a><br>s: marknijhof</div></div><div><br>
</div></div>
</div>