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

Re: OpenJFX 9 integration



Hello Emmanuel,

Thank you for your hard work on OpenJFX!

Although I like Plan C, it has more issues like:

  * Circular build-dependency between openjdk and openjfx (or there is already one?)
  * Strange versioning pattern of openjdk rebuilds. (9~b181-5+<openjfx-version> vs 9~b181-5+b1)

Looks like the extensibility of JRE itself has become a bit worse?

Emmanuel Bourg 於 2017年10月12日 19:13 寫道:
> 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#BuildingOpenJFX-IntegrationwithOpenJDK9
>


Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: