Gradle build progress

Richard Bair richard.bair at oracle.com
Wed Mar 20 10:55:47 PDT 2013


I think the gradle scripts are now far enough along that you ought to be able to successfully build using them on Mac, Linux, or Windows. At least, I've managed to build on all three platforms but no doubt there are bugs on various platforms due to different configurations.

To try out the gradle scripts, get the latest graphics repo (http://hg.openjdk.java.net/openjfx/8/graphics, http://hg.openjdk.java.net/openjfx/8/graphics/rt).

cd rt
gradle -b generator.gradle
cd ../javafx
gradle sdk

You need to have gradle 1.4 installed on your system (I can't use gradlew for now because including a 3rd party library in our source repository requires legal review blah blah). I haven't tried it with other versions of Gradle.

It should successfully build all Java & native code, and successfully download antlr, junit, and swt dependencies. It requires that artifacts/sdk/rt/lib/ext/jfxrt.jar is present in your root graphics dir just the same as the normal build, OR you can specify -PBINARY_STUB=/path/to/latest/binary/stub/jfxrt.jar

Please give it a try and let me know if it works for you or if it fails.

I've also run apps based on the resulting libraries. Note that the JDK 8 builds have jfxrt.jar and associated native libraries on the ext class path, which means when you run an app you will likely run into a mismatch of native libraries or java source files. What I did was to remove jfxrt.jar and the prism, prism-sw, decora-sse, and glass dylibs  *out* of my Java 8 JDK and supplied my gradle-built jfxrt.jar first on the class path followed by the binary stub (old jfxrt.jar) file.

Its a pain in the neck, I know. You can also mess with the ext class path / boot class path settings, but that's a pain too. The joys of JDK development :-/. Open to better suggestions on how to run locally built jfxrt.jar and native libraries against a stock Java 8 without all the muss & fuss.

My next tasks:
	- confirm javadoc generation works
	- fix any failing tests or configuration that causes tests to fail
		- specifically I'm working to get most tests to run reliably in a single VM as they then execute 10x-100x faster
	- jardiff the jfxrt.jar normally built with the one built by gradle to look for bugs in the build script
	- fix any build issues reported on this thread
	- IDE integration

Then I will work with Mong to get the release engineering requirements in place and get a build setup on hudson and make sure all that is working fine.

Richard


More information about the openjfx-dev mailing list