Hi Jonathan,

> Converting the error to a warning (as was suggested in the original post
> in this thread) would not address the case where the Java source code
> needs to refer to types declared in class files generated from non-Java
> sources.

You're right. For some reason, I was thinking of passing the non-Java
compiled classes directory on the _classpath_ to javac, assuming that
would make the classes there accessible to the Java source code.
However, this is not a solution because of course, we're compiling a
named module which does not read an unnamed module which would contain
everything on the classpath.

So it seems that the only way to reliably compile a mixed language
module would be to compile everything to the same destination
directory. But Gradle's decision to separate outputs for different
languages, which I mentioned in the first post and which looks pretty
logical to me, sort of directly contradicts with this conclusion.
Developers of Gradle plugins for other JVM languages would then, I
suppose, be required to use hacks like forcing the Java plugin to
compile into the same destination directory and then moving out all
the newly created files to the correct directory afterwards, right?

> It is too late to change this for JDK 9, and even if we could, I think
> we are already pushing the limits of what can be specified on the
> command line to configure the different paths for all the modules
> involved in the compilation.

Sure, I understand this is a wrong point in time to propose changes
into JDK 9. I'm rather trying to figure out if the situation I
described here is considered normal by the Jigsaw team and there could
be a sane workaround by us (JVM language engineers), or is considered
a problem that should be fixed in the JDK itself, probably in a future
update.

Thanks!

Alexander

Reply via email to