-
Task
-
Resolution: Delivered
-
P4
-
17
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.
- relates to
-
JDK-8259343 [macOS] Update JNI error handling in Cocoa code.
- Resolved
-
JDK-8257858 [macOS]: Remove JNF dependency from libosxsecurity/KeystoreImpl.m
- Resolved
-
JDK-8257860 [macOS]: Remove JNF dependency from libosxkrb5/SCDynamicStoreConfig.m
- Resolved
-
JDK-8259651 [macOS] Replace JNF_COCOA_ENTER/EXIT macros
- Resolved
-
JDK-8259869 [macOS] Remove desktop module dependencies on JNF Reference APIs
- Resolved
-
JDK-8260616 Removing remaining JNF dependencies in the java.desktop module
- Resolved
-
JDK-8257853 Remove dependencies on JNF's JNI utility functions in AWT and 2D code
- Resolved
-
JDK-8257988 Remove JNF dependency from libsaproc/MacosxDebuggerLocal.m
- Resolved