Another idea is to focus on the most common case and built on top of that:

  def application do
    # Any application that does not come from a dependency, such
    # as Erlang and Elixir applications must be explicitly listed.
    [start_applications: [:logger]]

But you can also pass ", other: :included, compile_time_only: :skip". The
new :start_applications cannot be used alongside the old
:applications/:included_applications options.

*José Valim*
Skype: jv.ptec
Founder and Director of R&D

On Tue, Sep 20, 2016 at 1:26 PM, José Valim <
> wrote:

> One other option is to have something called configure_applications
> (although something shorter would be ideal):
> configure_applications: [logger: :start, other: :included,
> compile_time_only: :skip]
> We will automatically include all production deps but you can remove or
> add something by using configure_applications.
> Further thoughts?
> *José Valim*
> Skype: jv.ptec
> Founder and Director of R&D
> On Tue, Sep 20, 2016 at 11:19 AM, José Valim <
>> wrote:
>> I do think that the name OTP applications is unclear.
>> I agree. It has a double meaning: we can call all applications an OTP
>> applications or we can call the ones that ship part of OTP (the standard
>> library) an OTP application. Suggestions for better names? We could call it
>> `kernel_applications` or `stdlib_applications` if that's clearer?
>>> How does one determine if a production dependency is an application or
>>> not?
>> Production dependencies must always be applications unless you have a
>> very special case of a production dependency that is compile-time only (and
>> I can't recall of any).

You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
To view this discussion on the web visit
For more options, visit

Reply via email to