This page outlines the status of high-level feature areas to bring from Apple's Java SE 6 to the macosx-port.
Features in the macosx-port src repository
Build
HotSpot
Load .jnilib (in addition to .dylib)
remove ALWAYS_PASS_TEST_GAMMA hack
register new threads as ObjC-GC capable
Core Libraries
Investigate JDK7-specific additions to NIO
- kqueue based Selector
- WatchService implementation
- Async I/O API
Networking
X11
Universal binaries
JObjC
get tests passing
self-generate BridgeSupport full files
Cocoa AWT
2D drawing (OpenGL based)
Cocoa key/text events
cleanup to use JRSEvent API
threading cleanup
merge JDK6 CWindow -> LWCWindow changes and style flags
update CImage
Headless
remove $AWT_TOOLKIT=CToolkit, switch to default
ObjC-GC cleanup
Aqua LaF
Screen Menu Bar
Needs cleanup to use JRSMenu API
Needs refresh from Apple trunk
Requires an image tile cache
Fonts/Text drawing
Needs cleanup to use JRSFont API
Accessibility
Clipboard
System properties fixup (vendor name, etc)
Resolve "Darwin" vs. "Mac OS X" checks
JNI interface for JavaVM.framework
DTrace v2-style probes
Sound
Features not yet ported from Apple's Java SE 6
Printing
Proxy Server handling
- get config from System Configuration framework
Shared Archive Generation
Bundled app launching
may require additions to JavaRuntimeSupport.framework
Locale support
Requires a single locale setter CFBundle SPI call
Drag & Drop (requires some CoreDrag methods)
SWT/3D embedding with JAWT
- might require CALayer cross-process linking internals
InputMethod support (may require additions to JavaRuntimeSupport.framework)
Features needing evaluation for distribution mechanism
Crypto/Keychain/Smartcard
Features not in public macosx-port ("deploy" is private to Oracle)
Applets/Plugin2
Need to create .plugin bundle
Need to embed slimmed JRE into .plugin bundle
Need NPAPI/Cocoa event -> Java event conversion
Need the LWAWT to render into NSOpenGLLayer (see above)
Need cross-process CALayer connection mechanism to be exposed
Need to determine update mechanism (Sparkle.framework?)
Web Start
Need to determine delivery vehicle (inside Applet plug-in, or some other form)
.jnlp file ownership hand-off with Apple's "Java Web Start.app" helper?
Java Preferences
Non-feature tasks
Merge BSDPort into mainline jdk so that Mac OS X Port can be inserted into mainline:
Merge BSDPort hotspot, patch and description at: BSDPort, Description of jdk7 changes
Move internal bugs to http://java.net/jira/browse/MACOSX_PORT
Write up development wiki pages for
Quickstart
Status
Compiler changes/issues
Cocoa & Java crash course
Threading manifesto
Memory management manifesto
Mac OS X conceptual deviations from Java platform assumptions
Internal "Adopt-an-app" testing workflows
Port private JUnit harness tests to jtreg
Features not to be done
These issues will not be ported to OpenJDK from the Apple Java SE 6 port
- Making MacRoman encoding the default
- NSView-based AWT heavyweight widgets
Overview
Content Tools
ThemeBuilder