[erlang-questions] Erlang project dependency management/build tools

Tim Watson watson.timothy@REDACTED
Fri Jan 21 22:55:26 CET 2011


On 21 January 2011 21:39, Eric Merritt <ericbmerritt@REDACTED> wrote:
> Tim,
>
>  OTP supports something called 'included_applications' that do exactly
> what you want, I believe and Sinan fully supports them as
> dependencies. The documentation is her
> http://www.erlang.org/doc/design_principles/included_applications.html
>
>  The included application still needs to follow the directory
> layouts, have an app file etc, but its not expected to have an
> application behavior and the OTP release system wont try to start it.
>
> Eric

Aha - that sounds ideal. From the documentation it appears that an
"including" application isn't obliged to start a supervision tree for
an "included" application if doing so is unnecessary, so presumably
libraries can be referenced in this way without further issue. Unless
of course you've referenced both mochiweb and erlsom yet both of them
(in an imagined world) happen to refer to log4erl, which sounds a
likely scenario. Despite that prickly issue, this does look like an
improvement.

Overall, I really like what erlware is trying to do. I think the
problem is getting the right level of adoption, so that you've got a
situation like maven2 where a large proportion of packages can be
pulled in without much ado, and pushing/deploying non-maven-built
artefacts into the repository isn't too hard either. If I could
opt-out of having the core OTP libraries installed via the erlware
repo, then I might be inclined to move from rebar, where the
dependency management has issues of its own. Is this still how erlware
works? Last I remember, applications/libraries such as kernel and
stdlib were coming down from the repo too, and whilst I understand the
embedded system doctrine and agree with it in principle, the reality
at work is that we install the JVM and other emulators system wide and
that's not going to go away in the near future. Perhaps I've
misunderstood this aspect of erlware's operation though.


More information about the erlang-questions mailing list