Gradle build, one step forward, two backward :)

Mario Torre neugens at redhat.com
Mon Jul 8 07:32:31 PDT 2013


Hi all!

I tried to compile JavaFX with the gradle build, and here are my
results, with different settings:

 1. *** Closed Everything ***

JAVA_HOME=/closed/jdk-8-ea-96/
BINARY_STUB=/closed/jdk-8-ea-96/jre/lib/ext/jfxrt.jar

[neugens at galactica rt]$ gradle jfxrt
> Loading
...

:jfxrtLinux
:jfxrt

BUILD SUCCESSFUL

Running an Hello World with the same configuration, but removing the
closed jfxrt.jar still fails:

Caused by: java.lang.NullPointerException
	at
com.sun.javafx.font.PrismFontLoader.loadFont(PrismFontLoader.java:220)
	at javafx.scene.text.Font.<init>(Font.java:318)
	at javafx.scene.text.Font.getDefault(Font.java:85)
	at javafx.scene.CssStyleHelper.<clinit>(CssStyleHelper.java:1329)

:(

Was't the font code open sourced?


 2. ***  OpenJDK with closed jfxrt.jar ***

The OpenJDK build fails before getting anywhere, which is very
surprising to me:

JAVA_HOME=/open/jdk-8/
BINARY_STUB=/closed/jdk-8-ea-96/jre/lib/ext/jfxrt.jar

[org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on
artifact cache (/home/neugens/.gradle/caches/artifacts-23).
[org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter]
Finished executing task ':graphics:compileJava'
[ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with
an exception.
* What went wrong:
Could not resolve all dependencies for configuration
':graphics:compile'.
> Could not find :plugin:.
Required by: rt:graphics:unspecified
* Exception is:
org.gradle.api.artifacts.ResolveException: Could not resolve all
dependencies for configuration ':graphics:compile'.
at
org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration.rethrowFailure(DefaultLenientConfiguration.java:52)
at
org.gradle.api.internal.artifacts.ivyservice.DefaultResolvedConfiguration.rethrowFailure(DefaultResolvedConfiguration.java:36)

Any help here would be great... I don't see why OpenJDK is not able to
build OpenJFX, even having the closed jar in the path.

3. *** Closed JDK with openjfxrt.jar ***

This fails. I expected this, but the build goes very far it seems:

public final class AudioClipBuilder implements
javafx.util.Builder<javafx.scene.media.AudioClip>
[...]

symbol:   class WebEvent
location: class WebEngineBuilder
error: cannot find symbol
[...]

4. ***  OpenJDK with just created open jfxrt.jar ***

Well, you guessed this fails too... I wonder how the iOS people got
their code working at all... Is there any secret repository you guys are
using?

5. *** Running OpenJDK with closed jfxrt.jar ***

This is even nicer:

Graphics Device initialization failed for :  es2, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error
initializing QuantumRenderer: no suitable pipeline found
[...]
Caused by: java.lang.RuntimeException: No toolkit found
	at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:213)
	at
com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:181)
	at
com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:637)
	at
com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:345)
	at
com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:304)

I think the OpenJDK build (2.) and running closed jfrt.jar + OpenJDK
(5.) are the most serious issues at the moment.

I remember that running closed jfx with OpenJDK used to work, but maybe
I'm wrong.

Any plans to address that, or hints where I can start looking to help
out?

Cheers,
Mario




More information about the openjfx-dev mailing list