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

☂ : Remove JNF dependencies from java.desktop module




      JavaNativeFoundation is a macOS framework which contains a number
      of different types of convenience support for Java applications that use
      native methods.
      Some of this is related to the Cocoa framework but a lot of it has nothing
      to do with macOS and is just a layer of conveniences that aren't needed.
      It is quite small as these things go but I doubt we are even using all of that.
      Even the cocoa support isn't anything that is needed since OpenJFX
      manages just fine without it.
      It has recently been open-sourced but is not likely to be maintained since
      it is also deprecated so for the long term the best answer is to remove dependencies on it.

      There are 61 files in the java.desktop module that import JNF as
      determined by :
      #import <JavaNativeFoundation/JavaNativeFoundation.h>

      These amount to around 1300 references to JNF - removing these looks
      to be mostly tedious rather than difficult.
      Most of the uses are in AWT code with a smattering of 2D
      To make reviews manageable I propose to break it up into smaller pieces of work - mostly by category - before finally removing references to JNF from the build - which will require also updating just 3 files outside of the desktop module.


        Issue Links



              prr Philip Race
              prr Philip Race
              0 Vote for this issue
              6 Start watching this issue