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

Phil Race philip.race at
Wed Nov 2 17:01:44 UTC 2016


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.


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.

More information about the openjfx-dev mailing list