How does JFX get built for official release
richard.bair at oracle.com
Fri Feb 1 15:23:18 PST 2013
We do have a (large) lab of machines that build / test a large number of configurations (different hardware, OS, browsers, embedded, etc). However the process of getting a build out the door includes running various scripts & such across three different organizations: dev, sqe (quality), re (release engineering). The "true" RE builds require licensed software that costs a few $10K per seat. Because of this, there are only a few people who can actually create a build that is put on the web. In addition, not everybody has access to the signing certificate which is used to sign the official builds. The OpenJDK side is built off free software, so it is "easy" for anybody to take the JDK and produce a build.
What we are getting to is a setup where anybody can build OpenJDK / OpenJFX / JDK / JFX from their system. True one-button continuous integration / continuous delivery concept. dev / sqe / re are working closely together to pull the entire build / test system together into something that is "easy" for anybody to do.
I put "easy" in quotes because of course building anything of this magnitude (with a bunch of native code) is going to have various pre-requisites per-platform that have to be documented and configured correctly.
The JDK is moving to heavily using make as the main build system. I want to use Gradle on our side, but haven't yet figured out how to do the native builds on FX with Gradle (maybe we'll also use Make and then just call gradle from make or make from Gradle).
It will always be the case that a build has to travel from dev -> sqe -> re before it is finally released to the public. However it will be possible for anybody to produce a build that would be byte-for-byte compatible with what RE finally releases -- except for the code signing -- as long as that person has all the appropriate software installed on their system.
For the open source side, of course, it is a lot easier because we'll build everything on free software and so the tools / libraries will be readily available to anybody.
On Feb 1, 2013, at 3:08 PM, Daniel Zwolenski <zonski at gmail.com> wrote:
> There's a lot of complicated, disjoint build scripts for the whole jfx platform, some of which is platform dependent, some is specific only to the jdk and not the jre (like deploy tools).
> When it's time to release a version to the public, how do these assets get built? Is there a little farm of pc's (or vm's) that are automated to build everything into a deliverable or is it more piecemeal, where bob builds one bit cause he's on mac and then Sam's pc gets used to build the win64 bit?
> How then does it get integrated into the jre and jdk. Are the build scripts run as part of that or are the built assets delivered to the jre build for inclusion on next jre build?
> Is there a difference in this process between oracle jdk and open jdk?
More information about the openjfx-dev