diff options
author | Rickard Green <[email protected]> | 2014-03-10 17:15:38 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2014-03-20 16:24:47 +0100 |
commit | 22ff87a0c8db877e3ce53b6ff915dcc6a75c5c0c (patch) | |
tree | 139aada2c279f9e2adf6e00affbcd88fc0f9dc45 /lib/kernel | |
parent | 7bc03971cfe09a2acbcd3bdaef1069af6272b127 (diff) | |
download | otp-22ff87a0c8db877e3ce53b6ff915dcc6a75c5c0c.tar.gz otp-22ff87a0c8db877e3ce53b6ff915dcc6a75c5c0c.tar.bz2 otp-22ff87a0c8db877e3ce53b6ff915dcc6a75c5c0c.zip |
Introduce runtime_dependencies in .app files
Most dependencies introduced are exactly the dependencies to other
applications found by xref. That is, there might be real dependencies
missing. There might also be pure debug dependencies listed that
probably should be removed. Each application has to be manually
inspected in order to ensure that all real dependencies are listed.
All dependencies introduced are to application versions used in
OTP 17.0. This since the previously used version scheme wasn't
designed for this, and in order to minimize the work of introducing
the dependencies.
Diffstat (limited to 'lib/kernel')
-rw-r--r-- | lib/kernel/doc/src/app.xml | 23 | ||||
-rw-r--r-- | lib/kernel/src/kernel.app.src | 3 |
2 files changed, 23 insertions, 3 deletions
diff --git a/lib/kernel/doc/src/app.xml b/lib/kernel/doc/src/app.xml index 7c9d6eecec..8f968cc988 100644 --- a/lib/kernel/doc/src/app.xml +++ b/lib/kernel/doc/src/app.xml @@ -61,7 +61,8 @@ {applications, Apps}, {env, Env}, {mod, Start}, - {start_phases, Phases}]}. + {start_phases, Phases}, + {runtime_dependencies, RTDeps}]}. Value Default ----- ------- @@ -77,8 +78,10 @@ Apps [App] [] Env [{Par,Val}] [] Start {Module,StartArgs} [] Phases [{Phase,PhaseArgs}] undefined +RTDeps [ApplicationVersion] [] Module = Name = App = Par = Phase = atom() - Val = StartArgs = PhaseArgs = term()</code> + Val = StartArgs = PhaseArgs = term() + ApplicationVersion = string()</code> <p><c>Application</c> is the name of the application.</p> <p>For the application controller, all keys are optional. The respective default values are used for any omitted keys.</p> @@ -185,6 +188,22 @@ Phases [{Phase,PhaseArgs}] undefined start phases must be a subset of the set of phases defined for the primary application. Refer to <em>OTP Design Principles</em> for more information.</p> </item> + <tag><c>runtime_dependencies</c></tag> + <item>A list of application versions that the application + depends on. An example of such an application version is + "kernel-3.0". Application versions specified as runtime + dependencies are minimum requirements. That is, a larger + application version than the one specified in the + dependency satisfies the requirement. For information on + how to compare application versions see + <seealso marker="doc/system_principles:versions">the + documentation of versions in the system principles + guide</seealso>. Note that that the application version + specifies a source code version. An additional indirect + requirement is that installed binary application of + the specified version has been built so that it is + compatible with the rest of the system. + </item> </taglist> </section> diff --git a/lib/kernel/src/kernel.app.src b/lib/kernel/src/kernel.app.src index cb8c98ab06..5658c6b6cf 100644 --- a/lib/kernel/src/kernel.app.src +++ b/lib/kernel/src/kernel.app.src @@ -114,6 +114,7 @@ pg2]}, {applications, []}, {env, [{error_logger, tty}]}, - {mod, {kernel, []}} + {mod, {kernel, []}}, + {runtime_dependencies, ["erts-6.0", "stdlib-2.0", "sasl-2.4"]} ] }. |