[erlang-questions] Dependencies on library applications

Loïc Hoguin essen@REDACTED
Mon Dec 17 16:22:19 CET 2012


It's not an issue, it's just tedious and has to be done for all releases 
instead of just once in the .app file.

On 12/17/2012 04:20 PM, dmitry kolesnikov wrote:
> Hello all,
>
> I am using exclude mode or reltool and manually managing dependencies
> of my releases, even including library application. There was not any
> issue so far.
>
> Best Regards,
> Dmitry >-|-|-*>
>
>
> On 17.12.2012, at 16.26, "Loïc Hoguin" <essen@REDACTED> wrote:
>
>> 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
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions


-- 
Loïc Hoguin
Erlang Cowboy
Nine Nines
http://ninenines.eu



More information about the erlang-questions mailing list