Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8198329

Support FX build / test using JDK that doesn't include javafx.* modules

    XMLWordPrintable

Details

    Description

      OpenJDK builds only include javafx.* modules if the configure step specifies to use javafx bits using the --with-import-modules option. Further, the OpenJDK 9 and 10 bundles do not include javafx.* modules.

      The current FX build produces a bundle for inclusion in a JDK build. The subsequent build tasks for building apps, building tests, and running tests assume that the bootJDK already has javafx.* modules, and use scripts to patch these existing modules at compile time or runtime.

      We can currently build the FX modules using a JDK without javafx.* modules (the "gradle sdk" step), but we cannot build or run apps or tests on such a JDK. We instead have to take those FX bits and build our own JDK including them.

      This is a significant limitation, as it effectively requires FX developers to build their own OpenJDK + FX if they want to run an FX app with an OpenJDK build.

      We need to enhance the build system to produce artifacts that can run on a boot JDK without javafx.* modules baked in.

      NOTE: untill all of the internal dependencies are resolved (see JDK-8195798), we will need to specify the qualified exports on the command line. As a stop-gap we will generate the necessary @ args files with the needed "--add-exports" arguments.

      Attachments

        Issue Links

          Activity

            People

              kcr Kevin Rushforth
              kcr Kevin Rushforth
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: