[erlang-questions] New .app option runtime_dependencies

Tristan Sloughter tristan.sloughter@REDACTED
Tue Apr 15 16:07:59 CEST 2014


2 questions regarding the new runtime_dependencies option in 17.0 .app
files.

First, the docs leave a lot to the imagination, if we look at the new
.app file for observer:

λ cat lib/observer-2.0/ebin/observer.app
{application, observer,
   [{description, "OBSERVER version 1"},
    {vsn, "2.0"},
    {modules, [....]},
    {registered, []},
    {applications, [kernel, stdlib]},
    {env, []},
    {runtime_dependencies,
    ["wx-1.2","stdlib-2.0","runtime_tools-1.8.14",
			                "kernel-3.0","inets-5.10","et-1.5",
			                 "erts-6.0"]}]}.

How is a runtime_dependencies app different from one in the
'applications' key's values? Are they only started if they are in
'applications' and if they only exist in runtime_dependencies they
should simply be in the path or should they be loaded? Or is it only to
specify required version? In which case... why another entry and why are
there apps in runtime_dependencies that aren't listed in applications.

Next, will the OTP team work with the community on the format (I know
the type is subject to change, and think that is a good thing... a tuple
like {wx, ">=1.2"} would make more sense in my opinion) and the actual
use of this key's values?

We are looking to see what to do for relx
(https://github.com/erlware/relx) since currently the libs copied for a
release that includes something like observer will not include necessary
dependencies.

Oh, one more thing, I don't understand what this sentence is saying, "In
the case such optional dependencies exist, these are specified and
documented in the corresponding "App" documentation of the specific
application." (http://www.erlang.org/doc/man/app.html)

-- 
  Tristan Sloughter
  tristan.sloughter@REDACTED



More information about the erlang-questions mailing list