groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jochen Theodorou <blackd...@gmx.org>
Subject Re: Next steps for Groovy and Java 9?
Date Wed, 04 Oct 2017 15:52:33 GMT


Am 04.10.2017 um 14:26 schrieb Andrew Bayer:
> Hey all -
>
> So over in the Jenkins project, we're more than a little bit freaked out
> about Groovy + Java 9, since Groovy is absolutely critical to Jenkins. I
> think I can carve out time to work on the problems with Groovy + Java 9,
> but to a certain extent, I'd be jumping into the jungle without a map.
> =) Do we have any kind of roadmap for what needs to be done, or any
> specific concrete tasks that need to be tackled?

Let me try to give a rough impression on the things that work and that 
do not:

usage of JDK9 like JDK8 with classpath: works if no hidden APIs are used

JDK9 features that will not work properly:
* Groovy is no module, so there can be no named module, that depends on 
Groovy
* It is unclear if Groovy can work as automatic module
* Making Groovy a named module will require working with layers most 
likely, this is not fully investigated
* Joint compilation with modules will be troublesome because of the 
problems above
* the nasty reflection warnings are not really preventing Groovy from 
working, but fixing this will mean to change the meta class 
initialization logic from an half eager mode to an fully lazy approach, 
which is an extremely big task, of which I am not fully sure we can 
actually do it.
* doing the actual method call with reflection is now more restricted 
(or I should say it will require more command line based opening of 
modules) then for example a MethodHandles based implementation. That is 
because they (Java Platform team) can just not keep their fingers away 
from basing calls on the caller (and make the wrong assumption about who 
the caller is in our case)
...

But I really wonder what of these things is currently preventing Jenkins 
from using Groovy on JDK9?

bye Jochen

Mime
View raw message