使用erlang.mk指定应用启动顺序

时间:2016-03-22 21:52:21

标签: erlang build-tools

我正试图将过时的无维护构建工具转换为erlang.mk。我有一个使用erlang.mk创建的版本,但它在启动时失败,我相信因为应用程序以错误的顺序启动。如何指定应用的启动顺序?我原以为它会按照Makefile的LOCAL_DEPS变量中指定的顺序启动应用程序,但这似乎不会发生。我在文档中随处可见,加上谷歌搜索,但一直找不到任何东西。

2 个答案:

答案 0 :(得分:3)

订单不依赖于erlang.mk,而是依赖于Erlang VM本身启动应用程序时的情况。当systools启动特定应用程序时,它会读取.app文件以检查应事先启动哪个应用程序并启动它们。只有在成功启动所有必备应用程序后,才会启动所请求的应用程序。请参阅description of the app文件。

Example from here

{application, humbundee,
 [{description, "Humble Bundle downloader written in Erlang"},
  {vsn, "0.0.1"},
  {modules,
   [
    =MODULES=
   ]},
  {registered, [hbd_sup, hbd_get_sup]},
  {applications, [kernel, stdlib, sasl, lager]},
  {mod, {hbd_app, []}}
 ]}.

这表示kernelstdlibsasllager必须在启动humbundee之前启动。

答案 1 :(得分:0)

它基于.app文件applications列表。每个应用程序及其家属在继续下一个应用程序之前启动。