[erlang-questions] Dependencies on library applications

Garrett Smith g@REDACTED
Mon Dec 17 17:22:50 CET 2012


On Mon, Dec 17, 2012 at 10:00 AM, Loïc Hoguin <essen@REDACTED> wrote:
> On 12/17/2012 04:54 PM, Garrett Smith wrote:
>>
>> On Mon, Dec 17, 2012 at 8:25 AM, 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.
>>
>>
>> You're just quoting the docs :)
>
>
> No I know about them, because...
>
>
>> They don't *have* to be included in anything -- but they are
>> nonetheless listed as a dependency. The point is that they aren't
>> started by init on behalf of your app.
>>
>> Does listing the app in the included_applications list present a
>> particular problem for your case?
>
>
> AFAIK, you can only have one application defined as an included_application
> anywhere. You can't have 2 applications depend on app_X with both listing it
> in included_applications.
>
> That's pretty much all I know about them, but maybe I'm wrong. :)

You're right!

I just tried this and it indeed does not work. I was hoping it was
something in the docs that wasn't enforced by systools.

So yeah, I totally agree, Erlang should have this :)

Garrett



More information about the erlang-questions mailing list