After further discussion on IRC, we have raised some concerns about the
latest proposal.

The issue with supporting entries such [myapp: :load] or [myapp:
:permanent] is what happens when projects A and B specify different
properties for :myapp. We would need to solve conflicts and that would
introduce complexity which otherwise does not exist on releases because
relaeses specify this metadata only once.

Therefore, one last proposal is the following:

def application do
  # Any application that does not come from a dependency, such

       # as Erlang and Elixir applications must be explicitly listed.

  [extra_applications: [:logger]]


We will also support the :runtime option (or something more appropriately
named) for dependencies that allow us to specify a dependency is not
necessary during runtime. For example, distillery itself would be specified

{:distillery, ">= 0.0.0", runtime: false}

With the features above, the list of applications, when not specified, will
be calculated by:

applications = (all_runtime_apps_from_prod_deps_ ++ extra_applications)
-- included_applications

This seems to be the simplest approach conceptually while solving the main
problem of requiring users to explicitly specify the applications list.

Final thoughts?

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