Dear list,<div><br></div><div>AFAIK a release will start the dependency applications defined in an application <font face="courier new, monospace">.app</font> file. So for instance, if I specify:</div><div><br></div><div><div>
<font face="courier new, monospace">{application, myapp, [</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>{description, ""},</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>{vsn, "0.1-dev"},</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>{modules, []},</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>{registered, [</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>]},</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>{applications, [</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>kernel,</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>stdlib,</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>compiler,</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>syntax_tools,</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>lager</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>]},</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>{mod, {myapp, []}},</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>{env, []}</font></div>
<div><font face="courier new, monospace">]}.</font></div></div><div><br></div><div>When I package all of this as a release, all of the specified applications will be started automatically when I launch <font face="courier new, monospace">myapp</font>. Is this correct?</div>
<div><br></div><div>If so, I want to have a developer start script that starts these applications manually, to emulate what the release will launch for me: I do not want to have extra <font face="courier new, monospace">application:start(compiler)</font> code in <font face="courier new, monospace">myapp</font>, since I won't need that once it's packaged.</div>
<div><br></div><div>So I'm using this:</div><div><br></div><div><div><font face="courier new, monospace">erl -pa apps/*/ebin -pa deps/*/ebin \</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>-boot start_sasl \</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>-config app \</font></div><div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>-s application start compiler</font></div>
</div></div><div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>-s myapp</font></div></div><div><br></div><div>However compiler does not start:</div><div><br></div><div>
<div><font face="courier new, monospace">1> application:which_applications().</font></div><div><font face="courier new, monospace">[{sasl,"SASL CXC 138 11","2.2.1"},</font></div><div><font face="courier new, monospace"> {stdlib,"ERTS CXC 138 10","1.18.2"},</font></div>
<div><font face="courier new, monospace"> {kernel,"ERTS CXC 138 10","2.15.2"}]</font></div><div><br></div><div>But if I manually start it:</div><div><br></div><div><font face="courier new, monospace">2> application:start(compiler).</font></div>
<div><font face="courier new, monospace">ok</font></div></div><div><br></div><div>Is there something I'm doing wrong? Am I actually supposed to use <font face="courier new, monospace">application:start/1</font> in <font face="courier new, monospace">myapp</font> anyways?</div>
<div><br></div><div>Thank you,</div><div><br></div><div>r.</div>