RFR: 8324941: POC for Headless platform for JavaFX
Johan Vos
jvos at openjdk.org
Thu Jun 19 08:39:13 UTC 2025
After spending a year in the sandbox repository, the Headless Platform is now ready to be reviewed in the main repository.
### the Headless Platform
The Headless Platform is a top-level com.sun.glass.ui platform that replaces the second-level Monocle-Headless subplatform, that is part of the top-level Monocle platform.
The platform can be used like any other platform, especially for running headless JavaFX applications, or for running tests (e.g. on CI systems)
### changes
The code for the Headless Platform is in a new package com.sun.glass.ui.headless in the javafx.graphics module, and it does not require a code change in other packages.
This PR adds a simple change in the `build.gradle` file, to make the Headless Platform the standard when running headless tests (instead of using Monocle/Headless)
### enable the Headless Platform
Setting the system property `glass.platform` to `Headless` will select the Headless Platform instead of the default one (either gtk, mac or win).
### testing
`gradlew --info -PHEADLESS_TEST=true -PFULL_TEST=true :systemTests:cleanTest :systemTests:test`
runs all the system tests, apart from the robot tests. There are 2 failing tests, but there are valid reasons for those to fail.
### robot tests
Most of the robot tests are working on headless as well. add `-PUSE_ROBOT` to test those.
-------------
Commit messages:
- Add headless platform code
Changes: https://git.openjdk.org/jfx/pull/1836/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1836&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8324941
Stats: 1474 lines in 11 files changed: 1470 ins; 2 del; 2 mod
Patch: https://git.openjdk.org/jfx/pull/1836.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/1836/head:pull/1836
PR: https://git.openjdk.org/jfx/pull/1836
More information about the openjfx-dev
mailing list