<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>It is done by the applications list in the .app files. It isn't possible to check that C will never be used in your example. xref can probably used to find some cases. But it is up to the user to add to the relx config `{exclude_apps, [C]}` which tells relx to not only not include C but also remove C from any .app file that had it listed.<br></div>
<div><br></div>
<div id="sig19496053"><div class="signature">--<br></div>
<div class="signature">  Tristan Sloughter<br></div>
<div class="signature">  "I am not a crackpot" - Abe Simpson<br></div>
<div class="signature">  t@crashfast.com<br></div>
</div>
<div><br></div>
<div><br></div>
<div>On Mon, Jul 10, 2017, at 11:24 AM, Dmitry Kolesnikov wrote:<br></div>
<blockquote type="cite"><div><br></div>
<div><blockquote type="cite"><div>On 10 Jul 2017, at 21.15, Tristan Sloughter <<a href="mailto:t@crashfast.com">t@crashfast.com</a>> wrote:<br></div>
<div><br></div>
<div><span class="font" style="font-family:SourceCodePro-Regular"><span class="size" style="font-size:13px">As for why it defaults to embedded, this is simply because in a release you've built for your project it is expected you have included only what is needed.<span> </span></span></span><br></div>
</blockquote></div>
<div><br></div>
<div>How does it make a decisions what is needed? As far I re-call, it is made at high level only. If you app uses application A that use B and C then all apps are included into release and their code is loaded into memory  even if feature of A that uses C is not ever called from my application, right? or it appliance heuristic and pick only the modules that definitely used by the application (in this case C will not be ever included into release)? <br></div>
<div><br></div>
<div>- Dmitry   <br></div>
<div><br></div>
</blockquote><div><br></div>
</body>
</html>