2016-03-22 9 views
1

Ich versuche, von einem antiquierten, nicht gepflegten Build-Tool zu erlang.mk zu wechseln. Ich habe ein Release erstellt mit erlang.mk, aber es scheitert beim Start, glaube ich, weil Apps in der falschen Reihenfolge gestartet werden. Wie lege ich die Startreihenfolge der Apps fest? Ich hätte gedacht, dass es Apps in der gleichen Reihenfolge wie in der LOCAL_DEPS-Variable des Makefile gestartet würde, aber das scheint nicht zu geschehen. Ich habe überall in der Dokumentation nachgesehen und gegoogelt, konnte aber nichts finden.Angeben der App-Startreihenfolge mit erlang.mk

Antwort

0

Es basiert auf .app Datei applications Liste. Jede Anwendung und ihre Abhängigkeiten werden gestartet, bevor mit der nächsten fortgefahren wird.

+0

Können Sie es aus dem Quellcode zeigen? Quellcode kann alles sagen. – BlackMamba

+0

Erlang.mk erstellt die Anwendungen in der APP-Datei nicht in einer bestimmten Reihenfolge? Ich muss reingehen und diese Datei manuell bearbeiten? – user6101197

3

Die Reihenfolge hängt nicht von ab, sondern von der Erlang VM selbst, wenn die Anwendungen gestartet werden. Wenn systools eine bestimmte Anwendung startet, liest es die Datei .app, um zu prüfen, welche Anwendung zuvor gestartet werden sollte, und startet sie. Nur wenn alle vorausgesetzten Anwendungen erfolgreich gestartet wurden, wird die angeforderte Anwendung gestartet. Siehe die description of the app Datei.

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, []}} 
]}. 

Dies sagt, dass kernel, stdlib, sasl und lager muss gestartet werden, bevor humbundee gestartet werden konnte.

Verwandte Themen