You might have to be more precise in your example. The runtime could define interfaces and classes that app0 could implement / extend. The modularity isn't about execution exclusion, but rather about API visibility.
Eric > On Dec 5, 2015, at 9:16 AM, Jochen Theodorou <[email protected]> wrote: > > Hi all, > > in the sadly few hours of my spare time these days I am trying to understand > jigsaw better and I came across the condition that the module graph should be > acyclic... which made me wonder... > > > So Let us assume there is a module groovy.runtime and a module app0, which is > written in Groovy. groovy.runtime exports a equally named package for general > use. Since app0 is written in Groovy there is the high possibility that I > will have to invoke arbitrary methods from app0 from inside groovy.runtime. > Meaning app0 needs to give a read edge to groovy.runtime for app0. So app0 > depends on groovy.runtime and groovy.runtime depends on app0... is that a > cricular dependency that is forbidden... or was it only for compile time? > > bye Jochen
