Review: Switch to Jigsaw-aware boot JDK for compiling FX 9

David Hill David.Hill at
Wed Nov 2 17:35:48 UTC 2016

On 11/2/16, 1:01 PM, Phil Race wrote:

Updated with your suggestion, moved the obvious hot spots to the top.
> David,
> I generally make the following request of "large" reviews :
> One thing that would help a lot here is if the "important" files were at the top rather
> than buried due to lexical sorting by path name.
> In particular files like build.gradle and so on .. people then get a sense of what it is
> about rather than first wading through the noise.
> -phil.
> On 11/2/2016 9:55 AM, David Hill wrote:
>> JBS:
>> Webrev:
>> Kevin, Chien, Vadim,
>> There is a lot of change in this webrev, but there are a lot of common patterns (or sets of changes)
>> ./apps - the majority of the change is altering the NB project files to use rt/build/compile.args and run.args via a relative path. This is a replacement action for using jfxrt.jar (and something I will address in a follow on email)
>> Also, a new pattern for apps that need --add-exports lines to run properly (like Robot), we have added a file:
>> || *apps/tests/HelloTest/addExports
>> *that will used as an @argfile with the run command. This allows greater visibility into the added command than hiding them in the files.
>> Under ./modules/ there is two classes of renames
>> /module-info/ --> / *java/
>> * /test/java/com --> / *shims/java/com
>> * is needed by javac, and so moving into the "main" set makes sense. It does mean however that IDEs may get upset because this is JDK9 syntax.
>> The "shim" classes were mixed in with the general test classes. No more. Now they are in the "shim" set to allow us to build them as part of a rebuild of the main module classes to create a shim-ed module for testing. It also means we don't have to play include/exclude games when building.
>> Under packager, there is a different class of move/renames, creating  " *src/antplugin". *These sources are used to build a separate jar for use with ant. We needed to move these out of the main set because the would cause javac failure - but gained an additional benefit of a clear separation of sources.
>> What is left is changes related to:
>>    ripping out build/sdk
>>    adding in a modular build
>>    creating rt/build/*.args argfiles to ease development.
>> A big notes: we had to change the build target to 1.9
>>      javac.source=1.9
>> because in many of the places javac would baulk at using the JDK9 commands without it. It is expected that the current IDEs may not like that.

David Hill<David.Hill at>
Java Embedded Development

"A man's feet should be planted in his country, but his eyes should survey the world."
-- George Santayana (1863 - 1952)

More information about the openjfx-dev mailing list