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

David Hill David.Hill at Oracle.com
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: https://bugs.openjdk.java.net/browse/JDK-8161704
>> Webrev: http://cr.openjdk.java.net/~ddhill/8161704/
>>
>> 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 project.properties files.
>>
>> Under ./modules/ there is two classes of renames
>> /module-info/module-info.java --> / *java/module-info.java
>> * /test/java/com --> / *shims/java/com
>> *Module-info.java 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
>> javac.target=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 Oracle.com>
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