the acyclic module graph
Stephane Epardaud
stef at epardaud.fr
Mon Dec 7 17:10:42 UTC 2015
I was THIS close to running Ceylon modules with Java 9:
atlantis stephane 18:04 compiler-java $
$HOME/no-backup/src/jdk1.9.0-jigsaw/bin/java -modulepath mlib -m
com.redhat.ceylon.compiler.java.test.interop.java9.user
Error occurred during initialization of VM
java.lang.module.ResolutionException: Cycle detected: ceylon.language ->
com.redhat.ceylon.compiler.java -> ceylon.language
at java.lang.module.Resolver.visit(java.base at 9.0/Resolver.java:693)
at java.lang.module.Resolver.visit(java.base at 9.0/Resolver.java:702)
at java.lang.module.Resolver.visit(java.base at 9.0/Resolver.java:702)
at
java.lang.module.Resolver.detectCycles(java.base at 9.0/Resolver.java:678)
at java.lang.module.Resolver.resolve(java.base at 9.0/Resolver.java:209)
at java.lang.module.Resolver.resolve(java.base at 9.0/Resolver.java:173)
at
java.lang.module.Configuration.resolve(java.base at 9.0/Configuration.java:229)
at
jdk.internal.module.ModuleBootstrap.boot(java.base at 9.0/ModuleBootstrap.java:180)
at java.lang.System.initPhase2(java.base at 9.0/System.java:1263)
So yeah, we support cyclic modules, and in particular our language
module (equivalent of java.base) depends on the compiler which depends
on the language module.
Any plans to relax this, or is there a command-line switch to disable
this check?
PS: for the curious, yes Ceylon modules now generate a module-info.class
and we retrofitted our distrib jars with them too, for the experiment
(this has not been tested at compile-time though, so they might be
incomplete module descriptors so far).
Cheers.
More information about the jigsaw-dev
mailing list