[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OpenJFX 9 integration



On Thursday, 12 October 2017 13:13:44 BST Emmanuel Bourg wrote:

> Hi all,

>

> I started working on OpenJFX 9 this week. The good news is that it

> builds fine in Debian now [1]. The bad news is that it's going to be

> significantly more challenging to integrate it with our OpenJDK package.

>

> With OpenJDK 8 the integration was just a matter of installing extra jar

> files and native libraries under /usr/lib/jvm/java-8-openjdk-amd64. With

> Java 9 and the modularization of the JDK it's another story:

> 1. The class files for the JRE and JavaFX are merged into a huge binary

> blob (lib/modules) using a custom format.

> 2. The javadocs are also merged into a unique src.zip archive.

> 3. The JDK contains new .jmod files for each module, and the ones for

> JavaFX are built by OpenJDK, not OpenJFX.

> 4. The JRE modules have to be patched to allow JavaFX classes to use

> internal JRE classes.

>

> According to the build instructions of OpenJFX [1] we have to build

> OpenJFX first and then build OpenJDK with an extra configuration

> parameter (--with-import-modules) pointing to the OpenJFX build directory.

>

> In this context it appears nearly impossible to package OpenJFX

> independently of OpenJDK. Here are the options I can see so far:

>

> A. Merge the openjfx package into openjdk.

>

> B. Keep the packages separate and attempt to overcome the issues (1) and

> (2) with postinst hooks or triggers merging the files, (3) by patching

> the OpenJFX build, and (4) by patching the module-info.java files in

> OpenJDK.

>

> C. Generate an intermediary package containing the build result of

> OpenJFX and used as a build dependency of OpenJDK.

>

> (A) is problematic because the openjdk package is already quite complex,

> and since openjdk is in the hands of the OpenJDK Team I won't be able to

> maintain OpenJFX there. (B) involves a lot of work, merging lib/modules

> is the biggest issue. (C) requires a rebuild of OpenJDK every time

> OpenJFX is updated, but is by far the easiest solution to implement.

>

> What do you think?

>

> Emmanuel Bourg

>

> [1] https://anonscm.debian.org/cgit/pkg-java/openjfx9.git

> [2]

> https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX#BuildingOpenJ

> FX-IntegrationwithOpenJDK9

I read on one of the Oracle lists that they were thinking that OpenJFX should

be merged into OpenJDK 10.

 

So maybe moving in the direction of merging the two is the better route.

 

David

 


Reply to: