<div dir="auto"><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Does this work without <i>any</i> module having a `requires y.inject`? </div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Yes.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div> If so, how is the y.inject module get included without a<span> </span>`requires y.inject` being specified? </div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">It will resolve when a module uses the x.spi.Plugin it provides. (x in this case) Hence, there is no need for any module to require y.inject. (as it doesn't export anything).</div><div dir="auto"><br></div><div dir="auto">If there is no module on the module path that uses the x.spi.Plugin, the y.inject module will not resolve, and no exception will be thrown.</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div style="line-break:after-white-space">
</div>

</blockquote></div>
</blockquote></div></div></div>