<div dir="auto">> <span style="font-size:12.8px">See Josiah’s email and my response to him.</span><div dir="auto"><span style="font-size:12.8px"><br></span></div><div dir="auto"><span style="font-size:12.8px">So if app module A uses Y it will have:</span></div><div dir="auto"><span style="font-size:12.8px"><br></span></div><div dir="auto"><span style="font-size:12.8px"> requires y.</span></div><div dir="auto"><span style="font-size:12.8px"><br></span></div><div dir="auto"><span style="font-size:12.8px">If app module A uses X and Y it will have:</span></div><div dir="auto"><span style="font-size:12.8px"><br></span></div><div dir="auto"><span style="font-size:12.8px">requires x;</span></div><div dir="auto"><span style="font-size:12.8px">requires y;</span></div><div dir="auto"><span style="font-size:12.8px">requires y.inject;</span></div><div dir="auto"><span style="font-size:12.8px"><br></span></div><div dir="auto"><span style="font-size:12.8px">We now need everyone using x and y together to explicitly know that y also provides a plugin and that they ALSO must remember to add the requires x.inject; (and x.inject has no exports, it only has the provides).</span></div><div dir="auto"><span style="font-size:12.8px"><br></span></div><div dir="auto"><span style="font-size:12.8px">Have I understood correctly? </span></div><div dir="auto"><span style="font-size:12.8px"><br></span></div><div dir="auto"><span style="font-size:12.8px">Cheers, Rob.</span></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 23 Apr 2023, 8:46 pm Ron Pressler, <<a href="mailto:ron.pressler@oracle.com">ron.pressler@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
> On 22 Apr 2023, at 23:05, Rob Bygrave <<a href="mailto:robin.bygrave@gmail.com" target="_blank" rel="noreferrer">robin.bygrave@gmail.com</a>> wrote:<br>
> <br>
> <br>
> > Ron: I’m guessing that what’s bothering you isn’t so much the number of *modules* but the number of JARs. So I think a more general solution than adding a way to describe “this service is conditional on the presence of X” would be to allow multiple modules in a single JAR that would contain both Y and the X-Y-plugin. <br>
> <br>
> How would this solve the issue? I can't see how having a second module on the same jar/artifact would work for this case. <br>
<br>
See Josiah’s email and my response to him.<br>
<br>
> <br>
> Bearing in mind this library needs to support both classpath and module-path. <br>
<br>
Since we don’t yet have multi-module JARs, the question of how it would be used on the classpath is TBD. However, one possible approach is to treat a multi-module JAR on the classpath as if each module was in its own JAR, and all of them were placed on the classpath.<br>
<br>
— Ron</blockquote></div>