JFX build and deployment - squeaking wheel

Daniel Zwolenski zonski at gmail.com
Thu Nov 8 16:16:42 PST 2012

Thanks for the information Bob.

The focus for this work looks to be very much in the embedded space. For
some of us, there is a strong motivation to see this in the desktop space
and I'd be interested in seeing if/how we can achieve that, and what, if
anything, there's anything I can do towards that.

Should I be asking questions on this here in the JFX list or in the
build-infra-dev list you mentioned - or is this something just not on the
table and therefore not something anyone will want to discuss?


On Fri, Nov 9, 2012 at 8:55 AM, John C. Turnbull <ozemale at ozemail.com.au>wrote:

> So where does that leave JavaFX for mobiles and tablets?
> -jct
> -----Original Message-----
> From: openjfx-dev-bounces at openjdk.java.net
> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Bob Vandette
> Sent: Friday, 9 November 2012 08:12
> To: openjfx-dev at openjdk.java.net
> Cc: John_Smith at symantec.com; zonski at gmai..com
> Subject: JFX build and deployment - squeaking wheel
> There have been some questions on this list about Jigsaw, compact profiles,
> embedded, minimal VMs
> and the JRE customization tool called jrecreate.   Richard asked me to jump
> in to try to clear up any confusion.
> Here goes ....
> The Java Modularity Project (project Jigsaw) that was originally planned
> for
> JDK8 was deferred to JDK9.
> The Java Embedded team (I'm the lead) was expecting to use Jigsaw in order
> to provide smaller customizable Java runtimes for embedded devices.
>  Lacking
> this new functionality, we decided to propose a simpler alternate plan that
> would enhance the JDK8 specification to allow the distribution
> of a small set of profiles that are subsets of the full Java runtime.
> These are called Compact Profiles.
> We have proposed three compact profiles.  A talk and presentation that I
> gave at JavaOne describes these profiles.
> https://oracleus.activeevents.com/connect/fileDownload/session/CDC887FAEAD8A
> BE54064406AC304AD59/CON4538_Vandette.pdf<https://oracleus.activeevents.com/connect/fileDownload/session/CDC887FAEAD8ABE54064406AC304AD59/CON4538_Vandette.pdf>
> The Java Enhancement Proposal (JEP) for this work is here:
> http://openjdk.java.net/jeps/161
> The openjdk repository that implements our current prototype is located
> here:
> http://hg.openjdk.java.net/jdk8/profiles
> The mailing list that discusses the profiles is
> build-infra-dev at openjdk.java.net since the creation of the new profiles is
> done using the new configure based JDK build system.
> This repository allows you to do a build that generates the full JRE, JDK
> but in addition produces three additional image targets (compact1,
> compact2,
> and compact3).
> In order to achieve the smallest Java runtime for embedded (our goal is
> around 10MB), we have applied changes to Hotspot that allow us to build a
> small VM (2-3MB) with reduced functionality.  The small VM (minimal) +
> compact1 profile goal we've set is around 10MB.  We're at 11MB today.
> In addition to the profile bundles and the small VM, we have a reduced
> Embedded FX stack that we'll run on embedded devices such as the
> RaspberryPi.  This FX Embedded stack is a compatible FX implementation
> without
> media and webkit support.   The goal for this added stack is 6MB.
> The jrecreate tool that some of you have asked about is not a java
> stripping
> tool.  It's main purpose is to assist the embedded developer in customizing
> Java runtimes.  It allows the developer to select which profile, VM,
> debugging options, compression, security and FX options.  It does not strip
> the full JRE to produce the compact profile. The jrecreate will be packaged
> with the three compact profile binaries.  It simply copies these profiles
> and applies some additional massaging based on the selected options.
> We have already pushed the minimal VM changes to JDK8 hotspot and will be
> open sourcing the compact profile changes since they will be a standard
> feature of JDK8 (independent of embedded).  The current profile changes in
> our project repository are only functional for Linux x86.
> We certainly recognize the value that small Java runtimes + reduced FX
> could
> have on Java applications published on Web App stores, but the current
> immediate plan is that the jrecreate tool is only going to be available
> with
> our
> embedded binary downloads since that's where it's needed most.   I've had
> some discussions with our Netbeans team to
> see what it will take to make Netbeans profile aware.  This might be a good
> way of taking advantage of profiles, reduced FX for producing smaller
> applications for distribution.
> I hope this help,
> Bob.

More information about the openjfx-dev mailing list