2016-03-22 27 views
1

我试图从一个过时的无人维护的构建工具转换为erlang.mk。我有一个使用erlang.mk创建的版本,但启动时失败,我相信因为应用程序启动顺序错误。如何指定应用程序的启动顺序?我原以为它会按照Makefile的LOCAL_DEPS变量中指定的顺序启动应用程序,但似乎并没有发生。我在文档中的任何地方都可以看到,并加上了搜索引擎优化,但一直没能找到任何东西。使用erlang.mk指定应用程序启动顺序

回答

0

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

+0

你可以从源代码显示吗?源代码可以说一切。 – BlackMamba

+0

erlang.mk不会以​​任何特定顺序在.app文件中创建应用程序?我必须进去手工编辑这个文件? – user6101197

3

订单不取决于erlang.mk,而是在Erlang虚拟机本身启动应用程序时。当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, []}} 
]}. 

这是说kernelstdlibsasl,以前humbundee可以开始lager必须启动。