HAHA! It runs!

Stephane Epardaud stef at epardaud.fr
Tue Dec 8 18:00:15 UTC 2015

Finally I was able to run my Ceylon modules in Java9!!

So what I have is that I generate module-info.class for every Ceylon
distrib module (the bootstrap modules written in Java[1]), I made the
Ceylon JVM compiler generate module-info.class for every Ceylon module,
and with a few tweaks here and there I can run Ceylon modules as Java
modules from the java command-line, using the Jigsaw runtime, as an
alternative to the JBoss Modules runtime.

Pretty nice. Of course I still have to unhack a few things and polish,
but overall it's already quite a milestone.

I was even able to use the Ceylon metamodel (which relies heavily on
Java reflection), although I suspect it will fail across module
boundaries because Jigsaw checks are more strict than Ceylon metamodel
checks (ironic considering our compile-time checks are stricter than
Java9's javac modularity checks, but that's OK).

I'm a bit frustrated that you guys renamed the javax.xml module to
java.xml because it will require us to magic that change away for users
of Java 7/8 that run on Java 9, but I can't blame you for you, it's our
own fault for supporting Java modules since Java 7. Paul Sandoz warned
me… ;)

So where again should I ask questions about the spec? It doesn't seem
like the observers list is the right place.

Thanks a lot for your help getting this done, guys.

[1] ATM I can compile them with Java 9 but not as modules, I generate
the module-info.class from the JBoss Modules descriptor. I can generate
a module-info.java from it and then make javac compile them as modules,
which I'll do in the future.

More information about the jigsaw-dev mailing list