[erlang-questions] Dependencies on library applications
Loïc Hoguin
essen@REDACTED
Mon Dec 17 15:25:56 CET 2012
On 12/17/2012 03:20 PM, Garrett Smith wrote:
> On Mon, Dec 17, 2012 at 3:05 AM, Loïc Hoguin <essen@REDACTED> wrote:
>
> -snip-
>
>> On 12/17/2012 04:48 AM, Anders Nygren wrote:
>>> In the documentation it says, in
>>> http://www.erlang.org/doc/design_principles/applications.html#id73720
>>> about the .app file
>>> "applications
>>> All applications which must be started before this application is
>>> started. systools uses this list to generate correct boot scripts.
>>> Defaults to [], but note that all applications have dependencies to at
>>> least kernel and stdlib."
>>>
>>> a few years ago I complained about an OTP application that did not
>>> list a library application that it depended on, but did not have to be
>>> started and was told that I was wrong.
>>>
>>> see, http://erlang.org/pipermail/erlang-bugs/2007-April/000333.html
>>> for more details
>>
>>
>> Alright.
>>
>> But, directing my question to OTP guys now, wouldn't it be simpler if we'd
>> list library applications there too? Building releases would be much easier
>> if all dependencies were listed somewhere and it appears this has no
>> negative impact to put them in applications. Correct me if I'm wrong.
>
> Are you not talking about included applications?
>
> http://www.erlang.org/doc/design_principles/included_applications.html
No.
Included applications are normal applications that are included into
another application's supervision tree directly.
Library applications are applications that do not need to be started
(like stdlib).
Problem is with the exception of stdlib it's recommended to not put
library applications in the {applications, [...]} startup dependencies,
which means there is no way to know all the dependencies of an
application without some complex analysis of the source. However, if you
go against current recommendations and put them in the startup
dependencies (even though they don't need to be started, it still
works), then everything is much clearer.
But I do not know if there's more concerns than just starting and stopping.
--
Loïc Hoguin
Erlang Cowboy
Nine Nines
http://ninenines.eu
More information about the erlang-questions
mailing list